1、C语言题库一部分 C语言题库(一部分)1编程:要求输入整数a和b,若a*a+b*b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和a+b。#includemain() int a,b,c; printf(please input a=); scanf(%d,&a); printf(please input b=); scanf(%d,&b); if(a*a+b*b100) c=(a*a+b*b)/100; printf(%d,c); else printf(%dn,a+b); 2编程:根据以下函数关系:当x=0,y=0;当0x=10,y=x;当10x20,y=sin(x);输入
2、一个x值,计算出相应的y值并输出。(提示:sin(x)属于math.h)#include#includemain() int x; float y; printf(please input x=); scanf(%d,&x); if(x=0) y=0; else if(0x)&(x=10) y=x; else if (10x)&(x=20) y=10; else y=sin(x); printf(%fn,y); 3编程:根据以下函数关系:当xx=1,y=x;当1x2,y=sin(x);输入一个x值,计算出相应的y值并输出。(提示:sin(x)、sqrt(x)属于math.h) 参考2 4编程:
3、输入三个正整数x,y,z,将这三个数由小到大输出。#include#includemain() int a3,i,max,j; printf(please input the 3 numbers:); for(i=0;i3;i+) scanf(%d,&ai); for(i=0;i3;i+) for(j=0;jaj+1) max=aj; aj=aj+1; aj+1=max; printf(the result is); for(i=0;i3;i+) printf( %d,ai); printf(n); 5编程:从键盘输入一个年号,判断该年号是否为闰年,并输出结果。闰年是能被4整除但不能被100整
4、除;或能被100整除且能被400整除的年号。 练习书上有,第一页 6编程实现四位电话号码的升位。原来电话号码为1、3、5、7、9打头的号码前加2,原来电话号码为2、4、6、8打头的加3,例如:输入1234,则输出:21234。#includemain() long x,y; printf(please input telephone number ); scanf(%d,&x); y=x/1000; switch(y) case 1: case 3: case 5: case 7: case 9:x=2*10000+x;break; case 2: case 4: case 6: case 8
5、:x=3*10000+x;break; printf(the result is %ldn,x); 7编程实现四位电话号码的升位。原来电话号码为1、2、3、4、5打头的号码前加3,原来电话号码为6、7、8、9打头的加2,例如:输入1234,则输出:31234。 参考6 8编程:已知分段函数:当x10时,y=2*x+1;当1x=10时,y=5*(x+1)*(x-2);当x=1时,y=1-2*x;从键盘输入x的值,计算y的值。 参考2 9编程:输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出错误。三角形面积公式:area=sqrt(s(s-a)(s-b)(s-c
6、),其中s=1/2(a+b+c)。(提示:sqrt(x)属于math.h)#include#includemain() float x,y,z; float area,s; printf(please input:); scanf(%f%f%f,&x,&y,&z); if(x+y=z)|(z+y=x)|(x+z=y) printf(non); else s=(x+y+z)/2; area=sqrt(s*(s-x)*(s-y)*(s-z); printf(%fn,area); 10编程:已知分段函数,当x=0时,y=3*x;当0x10时,y=2*x*x;从键盘输入x的值,计算y的值。 参考2 1
7、1编程:判定用户输入一个不大于999的正整数是否为一个回文数。回文数是指正读和反读都相同的数。#includemain() int a,x,y,z; printf(please input a number ); scanf(%d,&a); if(0a&a=999) x=a/100; y=(a-100*x)/10; z=a%10; if(x=0) if(y=z) printf(Yesn); else printf(non); else if(x=z) printf(yesn); else printf(non); 12编程:从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。转换的
8、方式是:将a中较大的数码作为b的十位,剩余的数码作为b的个位。例如,当输入a49,则结果b=94。#includemain() int a,b,x,y; printf(please input a number ); scanf(%d,&a); if(0a&a=y) b=a; else b=10*y+x; printf(the result is %d,b); else printf(a wrong number); 13编程:从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。转换的方式是:将a中较小的数码作为b的十位,剩余的数码作为b的个位。例如,当输入a54,则结果b=45。
9、 参考12 14初始化数组a中包含10个不同的整数,要求从键盘输入一个整数,若这个整数在数组中则从数组中删除这个整数并输出删除后的数组,否则输出no。#includemain() int a10=2,3,4,1,5,6,7,8,9,10,i,x,j,k; printf(please input a number ); scanf(%d,&x); for(i=0;i10;i+) if(ai=x) for(j=i;j10;j+) aj=aj+1; for(k=0;k9;k+) printf(%3d,ak); break; else if(i=9) printf(no); 15初始化一字符串(字符串
10、中的每个字符各不同),要求从键盘输入一个字符,删除字符串中和输入字符相同的字符,输出处理后的字符串。#includemain() char a7=howare; char b1; int i,j,k; printf(please input the string :); gets(b); for(i=0;i7;i+) if(ai=b0) for(j=i;j5;j+) aj=aj+1; for(k=0;k5;k+) printf(%c,ak); printf(n); break; else if(ai=0) printf(non); break; 16计算一个4*4矩阵的主对角线的元素之和以及最
11、大元素的值。要求初始化矩阵,输出计算结果并输出该矩阵。#includemain() int a44=2,123,1,5,4,22,56,23,5,7,89,23,1,2,3,4; int i,sum=0,max,j; for(i=0;i4;i+) sum=sum+aii; max=a00; for(i=0;i4;i+) for(j=0;j4;j+) if(maxaij) max=aij; printf(the sum is %d and the max number is %dn,sum,max); 17计算一个3*3矩阵的所有元素之和以及所有元素中的最大元素的值。要求初始化矩阵,输出计算结果
12、并输出该矩阵。 参考16,懒得弄了 18初始化一字符串(长度小于20个字符),取出第3个字符到第7个字符组成的子串,输出该子串。#includemain() char a20=asldfkjasldkf; int i; puts(a); for(i=2;i7;i+) printf(%c,ai); printf(n); 19编程计算一个a34数组的最小值所在位置,输出该位置以及a34矩阵。要求初始化矩阵。 参考16 20初始化一矩阵a44,计算每行的最大元素值,要求输出原始矩阵以及每行的最大元素值。#includemain() int a44=2,123,1,5,4,22,56,23,5,7,8
13、9,23,1,2,3,4,i,j,max; for(i=0;i4;i+) max=ai0; for(j=0;j4;j+) printf(%3d,aij); printf(n); for(i=0;i4;i+) for(j=0;j4;j+) if(maxaij) max=aij; printf(the max number is %dn,max); 21初始化一矩阵a44,计算每列的最大元素值,要求输出原始矩阵以及每列的最大元素值。 参考20 22编程计算a34数组的最大值所在位置,输出该位置以及a34矩阵。要求初始化矩阵。 参考20 23编程实现:计算矩阵a34每行元素的和。要求输出原始矩阵以及
14、每行元素的和值。要求初始化矩阵。 参考20 24编程实现:计算矩阵a34每列元素的和。要求输出原始矩阵以及每列元素的和值。要求初始化矩阵。参考20 25一维数组中存放任意10个整数,从第四个数据开始直到最后一个数据,依次向右移动一个位置。输出原始数据和移动后的结果。要求初始化数组。 例如:原始数据为:6 10 2 9 8 7 17 18 23 45, 输出结果为:6 10 2 9 9 8 7 17 18 23 45。#includemain() int a11=6,10,2,9,8,7,17,18,23,45,i; printf(the origin strings is); for(i=0;
15、i3;i-) ai=ai-1; printf(the changed strings is); for(i=0;i11;i+) printf(%3d,ai); printf(n); 26编程实现:在任意字符串a中将与字符c相同的所有元素的下标值分别存放在数组b中,输出字符串a和数组b。要求初始化数组a。 懒得弄,太简单 27初始化一个存放10个整数的数组,删除其中所有的小于0的数据。例如:当前的数据为1 1 6 8 9 6 6 5 6 9 ,则输出结果为1 8 9 6 6 6 9。#includemain() int a10=1,-1,-6,8,9,6,6,-5,6,9; int i; pri
16、ntf(the origin string is); for(i=0;i10;i+) printf(%3d,ai); printf(n); printf(the change string is); for(i=0;i0) printf(%3d,ai); printf(n); 28已知4X4矩阵,求行下标和列下标均为偶数的元素之和, 要求输出原始矩阵以及和值。提示:例如A00、A02的行下标和列下标均为偶数。要求初始化矩阵。#includemain() int a44=2,123,1,5,4,22,56,23,5,7,89,23,1,2,3,4; int i,sum=0,j; for(i=0;
17、i3;i=i+2) for(j=0;j3;j+) printf(%d,aij); for(i=0;i3;i=i+2) for(j=0;j3;j=j+2) sum=sum+aij; printf(the result is %dn,sum); 29已知4X4矩阵,求行下标和列下标均为奇数的元素之和, 要求输出原始矩阵以及和值。例如A11、A13的行下标和列下标均为奇数。要求初始化矩阵。 参考28 30函数void fun(int a,int n,int *small,int *big),该函数的功能是分别求出一维数组a中所有奇数项中的最小值与所有偶数项中的最大值,形参n给出数组中数据的个数;利用
18、指针small返回奇数项中的最小值,利用指针big返回偶数项中的最大值。要求:在主调函数中初始化一个一维数组,并在主调函数中调用函数fun后,在主调函数中输出结果。#includevoid fun(int a,int n,int *small,int *big) int max,min,i,j; min=a0; max=a1; if(n%2=0) for(i=0;iai) min=ai; for(j=1;j=n-1;j=j+2) if(maxaj) max=aj; *small=min; *big=max; else for(i=0;iai) min=ai; for(j=1;j=n-1;j=j
19、+2) if(maxaj) max=aj; *small=min; *big=max; main() int i=0; int str1,str2; int a8=2,13,3,4,54,6,8,4,n; n=8; printf(the origin numbers are:); do printf(%3d,ai); i+; while(i=7); printf(n); fun(a,n,&str1,&str2); printf(the min is %d the max is %dn,str1,str2); 31函数void fun(int a,int n,int * big,int * sm
20、all),该函数的功能是分别求出数组a中所有偶数项中的最小值与所有奇数项中的最大值,形参n给出数组中数据的个数;利用指针small返回偶数项中的最小值,利用指针big返回奇数项中的最大值。要求:在主调函数中初始化一个一维数组,并在主调函数中调用函数fun后在主调函数中输出结果。#includevoid newstr(char str) int i; int j=0; char newstr100; for(i=0;stri!=0;i+) if(stri%2!=0) newstrj=stri; j+; newstrj=0; for(i=0;i=j;i+) stri=newstri;void st
21、ringcat(char str1,char str2) char *p1,*p2; p1=str1; p2=str2; while(*p1) p1+; while(*p1+=*p2+);main() int i; char str1=I love the northeasten university; char *p,str2100; puts(str1); p=str1; for(i=0;*(p+i)!=0;i+) str2i=*p+; str2i=0; newstr(str1); stringcat(str1,str2); puts(str1); 32编写函数void new(char
22、str ),该函数将字符串str中ASCII值为偶数的字符删除,串中剩余字符形成一个新串。编写函数void stringcat(char str1,char str2)将原字符串str链接在新串的后面。编写一个程序,调用上述各个函数。要求:在main()函数中初始化字符串str并输出原字符串str,调用各个函数后在主函数中输出处理后的新字符串str。要求:不允许使用字符串库函数。#includevoid strnew(char str) int i,j; for(i=0;stri!=0;i+) if(stri%2=0) for(j=i;strj!=0;j+) strj=strj+1; void
23、 stringcat(char str1,char str2) char *p1,*p2; p1=str1; p2=str2; while(*p1) p1+; while(*p1+=*p2+); main() int i; char *p1,*p2; char str1100=howareyou,str2100=howareyou; for(i=0;str1i!=0;i+) printf(%c,str1i); printf(n); strnew(str1); p1=str1; stringcat(str1,str2); printf(%sn,p1); 33编写函数void new(char s
24、tr ),该函数将字符串str中下标值为偶数的字符删除,串中剩余字符形成一个新串。编写函数char strmax(char str )在新字符串中查找最大的字符。编写一个程序,调用上述各个函数。要求:在main()函数中初始化字符串str并输出原字符串str,调用各个函数后在主函数中输出处理后的新字符串str以及最大字符。要求:不允许使用字符串库函数。#includeint i;void newstr(char str) int j=0; char newstr100; for(i=1;stri!=0;i+=2) newstrj=stri; j+; newstrj=0; for(i=0;i=j
25、;i+) stri=newstri;char strmax(char str) char max1; max0=str0; for(i=0;stri!=0;i+) if(max0stri) max0=stri; return max0;main() char max2; char str=I love the norheeasten university; puts(str); newstr(str); puts(str); max0=strmax(str); max1=0; puts(max); 34编写函数void new(char str ),该函数将字符串str中ASCII值为奇数的字符删除,串中剩余字符形成一个新串。编写函数int strln(char str )计算新串的长度。编写一个程序,调用上述各个函数。要求:在main()函数中初始化字符串str并输出原字符串str,调用各个函
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1