《计算机二级C语言考试编程题题库(共31页).doc》由会员分享,可在线阅读,更多相关《计算机二级C语言考试编程题题库(共31页).doc(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上计算机c语言编程题库1、求100之内自然数中最大的能被17整除的数。void main() int i;for(i=100;i0;i-)if(i%17=0)break;printf(%dn,i);2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。void main()int a,b,c;for(a=1;a=9;a+)for(b=0;b=9;b+)for(c=1;c=9;c+)if(a*100+b*10+c+c*100+b*10+a=1333)printf(%d,%d,%dn,a,b,c);3、计算并输出200-400之间不能被3
2、整除的整数的和。void main() int i,sum=0;for(i=200;i=400;i+) if(i%3!=0) sum=sum+i; printf(%dn,sum);4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。void main() int i,n=0,sum=0;int a10;printf(“请输入10个数:”);for(i=0;i10;i+)scanf(“%d”,&ai);for(i=0;i=0) sum=sum+ai;n+; printf(非负个数是%d,sum=%dn,n,sum);5、求100之内自然数中偶数之和。void main() int i,s
3、um=0;for(i=0;i=100;i+)if(i%2=0)sum=sum+i; printf(sum=%dn,sum);6、输入5个数,求和并输出。要求编写求和的函数。void main() int b(int x,int n);int sum=0;int a5;int i;printf(请输入5个数:);for(i=0;i5;i+)scanf(%d,&ai);sum=b(a,5); printf(sum=%dn,sum);int b(int x,int n) int i,sum=0;for(i=0;i5;i+)sum=sum+xi;return sum; 7、编程计算1*2*3+3*4*
4、5+5*6*7+.+99*100*101的值。void main() int i,sum=0;for(i=1;i=99;i=i+2) sum=sum+i*(i+1)*(i+2);printf(%dn,sum);8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。void main() int i,n;char b20;printf(请输入字符串:);gets(b);n=strlen(b);for(i=0;in;i+)if(bi=a)bi=*;for(i=0;in;i+)printf(%c,bi);printf(n);9、编写程序,将一个一维数组的元素逆序存放并输出。例如,原顺序为
5、1,2,3,4,5,逆序后为5,4,3,2,1。void main() int i;int a5;printf(“请输入5个数:”);for(i=0;i5;i+)scanf(“%d”,&ai);for(i=0;i2;i+)t=ai;ai=a4-i; a4-i=t; for(i=0;i0) printf(zn);if(a0) printf(fn); if(a%2=0) printf(on); if(a%2!=0) printf(jn);12、计算并输出1-200之间不能被5整除的整数的和。void main() int i,sum=0;for(i=1;i=200;i+)if(i%5!=0)sum
6、=sum+i;printf(%dn,sum);13、从键盘输入n和a的值,计算a+aa+aaa+.+aa.a(n个a)的值。void main() int i,a,n;long int sum=0,st=0;printf(请输a和n:);scanf(%d%d,&a,&n);for(i=1;i=n;i+) st=st+a;sum=sum+st;a=a*10;printf(%ldn,sum);14、输入5个数,求它们中最大值和平均值并输出。void main()int a5;int i,j,max,sum=0;float average;printf(请输入5个数:);for(i=0;i5;i+)
7、scanf(%d,&ai);max=a0;for(j=0;j5;j+)sum=sum+aj;if(maxaj)max=aj;printf(max=%d,average=%fn,max,average);15、输出所有200-400之间能被3整除且个位数字为6的整数。 void main()int i;for(i=200;i=400;i+)if(i%3=0)&(i-6)%10=0)printf(%dn,i);printf(n);16、编写程序,将用户输入的字符串中所有的字符a去掉,然后输出剩余的字符。void main() int i,j,n1;char a20;printf(请输入字符串:);
8、gets(a);n1=strlen(a);for(i=0;in1;i+)if(ai!=a)printf(%c,ai); printf(n);17、计算并输出200-400之间不能被7整除的整数的和。void main() int i,sum=0;for(i=200;i=400;i+)if(i%7!=0)sum=sum+i;printf(sum=%dn,sum);18.计算并输出200-400之间不能被5整除的整数的和。void main() int i,sum=0;for(i=200;i=400;i+)if(i%5!=0)sum=sum+i;printf(sum=%dn,sum);19、从键盘
9、输入10个数,统计非正数的个数,并计算非正数的和void main() int i,n=0,sum=0;int a10;printf(“请输入10个数:”);for(i=0;i10;i+)scanf(“%d”,&ai);for(i=0;i10;i+)if(ai=0) sum=sum+ai;n+; printf(非正个数是%d,sum=%dn,n,sum);20、输入一串字符,将其中的大写字母变成对应的小写字母并输出。void main() int i,n;char a20;printf(请输入字符串:);gets(a);n=strlen(a);for(i=0;i=A&ai=Z)ai=ai+32
10、; for(i=0;in;i+)printf(%c,ai);printf(n);21、打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数。例如,153就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。void main() int a,b,c,s;for(a=1;a=9;a+)for(b=0;b=9;b+)for(c=0;c=9;c+)if(a*100+b*10+c=a*a*a+b*b*b*b+c*c*c)s=a*100+b*10+c;printf(%dn,s);22、一个皮球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求当它第
11、10次落地时,共经过了多少米,第10次反弹多高?void main() int i;for(i=2;i=10;i+) sum=sum+2*h; h=h/2;printf(%f,%fn,sum,h);23、输出所有0-200之间能被3整除且个位数字为6的整数。void main()int i;for(i=0;i=200;i+)if(i%3=0)&(i-6)%10=0)printf(%dn,i);printf(n);24、输入一个正整数,输出它的阶乘。void main() int i,J=1,n=10;printf(“请输入一个正整数:”);scanf(“%d”,&n);for(i=1;i=n;
12、i+)J=J*i;printf(%d 的阶乘是:%dn,n,J);25、编写程序,判断从键盘输入的字符中数字字符的个数、大写字母的个数、小写字母的个数及其它字符的个数,以*作为字符输入结束标志。void main()int i,x,m=0,n=0,k=0,j=0;char a20;printf(请输入字符串:);gets(a);x=strlen(a);for(i=0;i=0&ai=A&ai=a&ai=z)k+; else j+;printf(%d,%d,%d,%dn,m,n,k,j);26、编写程序,使用循环结构输出下列图形: * * * * * * * * * * * * * * * * *
13、 * *void main() int i,j,k ;for(i=0;i5;i+) for(j=0;j4-i;j+)printf( ); for(k=0;k4;k+) printf(*);printf(n);printf(n);27、输入一串字符,逆序输出。要求使用数组实现。void main()int i,j,t,n;char a10;printf(请输入字符串:);gets(a);n=strlen(a);for(i=0;in/2;i+)t=ai;ai=an-1-i;an-1-i=t;for(j=0;jn;j+)printf(%c,aj); printf(n);28、求1-1/2+1/3-1
14、/4+.+1/99-1/100的值。void main()int n,s=1;for(n=2;n=100;n+)s=-s;printf(1-1/2+1/3-1/4+.+1/99-1/100=%fn,sum);29、输入3个学生4门课的成绩(60,70,65,75),(75,80,75,90),(95,75,90,65),计算每个学生的总分和平均成绩并输出,结果保留一位小数。void main() int a34=60,70,65,75,75,80,75,90,95,75,90,65;int i,j; printf(三个学生的总分和平均成绩依次为:n);for(i=0;i3;i+)for(j=0
15、;j4;j+)sum=sum+aij;average=sum/4;printf(%.2f,%.2fn,sum,average);30、求两个正整数的最大公约数。void main() int m,n,m1,n1,t,k;printf(“请输入两个正整数:”);scanf(“%d%d”,&m,&n); if(mn) t=m;m=n;n=t;m1=m;n1=n;while(k=m1%n1)!=0) m1=n1;n1=k;printf(%d和%d最大公约数是:%dn,m,n,n1);31、求100之内自然数中奇数之和。void main() int i,sum=0;for(i=0;i=100;i+)
16、if(i%2!=0)sum=sum+i; printf(sum=%dn,sum);32、输出所有200-400之间能被3整除且个位数字为7的整数。 void main()int i;for(i=200;i=400;i+)if(i%3=0)&(i-7)%10=0)printf(%dn,i);printf(n);33、编程计算1*2*3+4*5*6+.+97*98*99的值。void main() int i,n,sum=0;for(i=1;i=94;i=i+3) sum=sum+i*(i+1)*(i+2);printf(%dn,sum);34、输入n的值,计算并输出1*1+2*2+3*3+4*4
17、+5*5+.+n*n的值。要求编写函数f求平方。void main() intf(int x);int n,sum;printf(请输n值:);scanf(%d,&n); sum=f(n);printf(%dn,sum);int f(int x) int j,z=0;for(j=1;j=x;j+)z=z+j*j;return z; 35、计算并输出1-200之间不能被3整除的整数的和。void main() int i,sum=0;for(i=1;i=200;i+) if(i%3!=0) sum=sum+i; printf(%dn,sum);36、输入3个学生4门课的成绩(60,70,65,7
18、5),(75,80,75,90),(95,75,90,65),计算每个学生的总分和平均成绩并输出,结果保留一位小数。void main() int a34=60,70,65,75,75,80,75,90,95,75,90,65;int i,j; printf(三个学生的总分和平均成绩依次为:n);for(i=0;i3;i+)for(j=0;j4;j+)sum=sum+aij;average=sum/4;printf(%.1f,%.1fn,sum,average);37、输入一个华氏温度,输出摄氏温度,计算公式为c=5/9*(F-32)。要求结果保留两位小数。void main() float
19、F,c;printf(“请输入一个华氏温度:”);scanf(“%f”,&F);printf(%.2fn,c);38、输入任意三个数,按从大到小的顺序输出。void main() int a,b,c,t;printf(“请输入任意三个数:”);scanf(“%d%d%d”,&a,&b,&c);if(ab) t=a;a=b;b=t; if(ac) t=a;a=c;c=t;if(bc) t=b;b=c;c=t;printf(%d,%d,%dn,a,b,c);39、用1元人民币兑换5分、2分、1分的硬币共50枚,每种硬币至少一枚,问共有多少种兑换方案?输出每一种方案中三种硬币的数量。main() i
20、nt i,j,k; int count=0; printf( 1分,2分,5分张数依次为: n); for(i=1;i100;i+) for(j=1;j50;j+) for(k=1;k20;k+) if(i*a+j*b+k*c)=1&i+j+k=50) printf( %d %d %dn,i,j,k); count+; printf(共有%d种方案n,count);40、从键盘输入圆的半径,计算并输出圆面积与周长,要求结果保留两位小数。void main() int r;float c,s;printf(“请输入半径r:”);scanf(“%d”,&r);s=pi*r*r;c=2*pi*r;p
21、rintf(面积=%.2f,周长=%.2fn,s,c);41、从键盘输入一个字符串,再输入两个正整数m和n,输出字符串中从m开始,连续n个字符。例如,输入abcdefg,2,3,输出bcd。void main() int i,m,n;char a20;printf(请输入字符串:);gets(a);n=strlen(a);printf(请输入两个正整数:);scanf(%d%d,&m,&n); for(i=m-1;im+n-1;i+)printf(%c,ai);printf(n);42、输入一个不多于5位的正整数,判断它是几位数,并逆序输出各位数字。void main() int a,b,c,
22、d,e;longx;printf(“请输入一个不多于5位的正整数:”);scanf(“%d”,&x);a=x/10000;b=x%10000/1000;c=x%1000/100;d=x%100/10;e=x%10; if(a!=0)printf(它是5位数,%d,%d,%d,%d,%dn,e,d,c,b,a); else if(b!=0)printf(它是4位数,%d,%d,%d,%dn,e,d,c,b); else if(c!=0)printf(它是3位数,%d,%d,%dn,e,d,c); else if(d!=0)printf(它是2位数,%d,%dn,e,d); else printf
23、(它是1位数,%dn,e); 43, 输出Fibonacci数列的前40项void main()int a40=1,1;int i;printf(%12d%12d,a0,a1);for(i=2;i40;i+)if(i%4=0) printf(n);ai=ai-1+ai-2;printf(%12d,ai);printf(n);44,判断某一年是否是闰年void main ()int year,leap;printf(“请输入一个年份:”);scanf(%d,&year);if (year%4=0)if (year%100=0)if (year%400=0)leap=1;elseleap=0;el
24、se leap=1;elseleap=0;if (leap)printf(%d is a leap yearn,year);elseprintf(%d is not a leap yearn,year);45,起泡法(选择法)对十个数排序void main()int i,j,t;int a10;printf(请输入10个数:n);for(i=0;i10;i+)scanf(%d,&ai);for(j=0;j9;j+)for(i=0;iai+1)t=ai;ai=ai+1;ai+1=t;for(i=0;i10;i+)printf(%d ,ai);printf(n);46,判断某个数是否为素数.voi
25、d main()int i,m;float k;printf(请输入一个正整数:);scanf(%d,&m);k=sqrt(m);for(i=2;ik)printf(%d is a prime numbern,m);else printf(%d is not a prime numbern,m);47,编程计算1!+2!+3!+10的值。void main() int i,j,sum1=1,sum=0;for(i=1;i=10;i+)for(j=1;j=i;j+)sum1=sum1*j;sum=sum+sum1;printf(1!+2!+3!+10!=%ldn,sum);48,求以下数列前十五
26、项的和:2/1,3/2,5/3,8/5,13/8,21/13。void main() int n;for(n=1;n=15;n+) sum=sum+a/b;t=a;a=a+b;b=t;printf(%fn,sum);49,从键盘输入圆柱体高与底面半径,计算并输出圆柱体表面积与体积,要求结果保留两位小数。void main()int h,r;printf(“请输入圆柱体半径r和高h:”);scanf(“%d%d”,&r,&h);s=2*pi*r*r+2*pi*r*h;v=pi*r*r*h; printf(s=%.2f,v=%.2fn,s,v); 50,从键盘输入一个十进制整型数据,计算并输出其各
27、位上数字之和(忽略正负号)。例如,输入1234,输出10;输入-1234,输出10。void main() int i1,i2,i3,i4,n,sum; int a;printf(请输入一个整数:);scanf(%d,&a); n=abs(a); i1=n/1000; i2=n%1000/100; i3=n%100/10; i4=n%10; sum=i1+i2+i3+i4; printf(sum=%dn,sum); void main()int i,n;printf(请输入存款本金x和存款年数n:);scanf(%f%d,&x,&n);y=x;for(i=1;i=n;i+)y=y*(1+r);
28、 printf(%fn,y);52,编程判断输入的字符串是否为“回文”。所谓“回文”是指顺读和倒读都一样,如abcba。void main()int i,n;char a20;printf(请输入字符串:);gets(a);n=strlen(a); for(i=0;i=n)printf(是回文.n);53、编写程序,将用户输入的字符串中删除所有的数字,然后输出剩余的字符。void main() int i,j,n1;char a20;printf(请输入字符串:);gets(a);n1=strlen(a);for(i=0;i=0&ai=9)=0)printf(%c,ai); printf(n)
29、;1.有一函数:当x0时,y=1。编一程序,输入x的值,输出y的值。int main()int x,y;scanf(%d,&x);if (x=0) if (x0) y=1; else y=0;else y=-1;printf(x=%d,y=%dn,x,y);return 0;2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。int main() float a,b,c,t; scanf(%f,%f,%f,&a,&b,&c); if(ab) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; return 0;3.
30、有三个整数a,b,c,由键盘输入,输出其中最大者。int main()int a,b,c,max;printf(请输入a,b,cn);scanf(%d,%d,%d,&a,&b,&c);max=a;if(maxb)max=b;if(maxc)max=c;printf(最大的数为%dn,max);return 0;4.编程求圆面积、圆周长。要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。表输入圆半径r:); scanf(%f, &r); l=2*pi*r; s=pi*r*r; printf(圆周长为:圆面积为:5.有分段函数:当x10时,y=sqrt(x)。编一程序,输入x的值,输
31、出y的值。int main()int x,y;scanf(%d,&x);if(x-10)y=abs(x)+5;else if(x=10) y=4*x-8;else y=sqrt(x);printf(x=%d,y=%dn,x,y);return 0;6.编写程序,判断某一年是否是闰年。(闰年的条件是:能被4整除,但是不能被100整除,或者可以被400整除。)int main()int year,leap; printf(enter year:); scanf(%d,&year); if (year%4=0) if(year%100=0) if(year%400=0) leap=1; else l
32、eap=0; else leap=1; else leap=0; if (leap) printf(%d is ,year); else printf(%d is not ,year); printf(a leap year.n); return 0;7.输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。公式为c=5/9(f-32)int main()float c,f; printf(请输入一个华氏温度:);scanf(%f,&f); printf(摄氏温度为:return 0; 8.有一函数:当x1时,y=|x|;当1=x=10时,y=3x+11。编一程序,输入
33、x的值,输出y的值。输入x:);scanf(%d,&x); if (x1) y=abs(x); else if (x*p2) t=p1;p1=p2;p2=t; if(*p1*p3) t=p1;p1=p3;p3=t; if(*p2*p3) t=p2;p2=p3;p3=t; printf(%d,%d,%dn,*p1,*p2,*p3); 10.输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。然后输出最后得到的字符。void main ( )char ch; scanf(%c,& ch); ch=(ch=A& ch=Z)?(ch+32):ch; printf(%cn,
34、ch); 11.编程求圆柱体积,圆柱表面积。要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字。void main()float r, h, v, s;printf(表输入圆半径r、圆柱高h:); scanf(%f%f, &r,&h); v=pi*r*r*h; s=2*pi*r*r+2*pi*r*h; printf(圆柱体积为:printf(圆柱表面积为:12.有分段函数:当x5时,y=2x-10.编一程序,输入x的值,输出y的值。int main()int x,y;scanf(%d,&x);if(x-5)y=x+10;else if(xb)max=b;if(maxc)ma
35、x=c;printf(最小的数为%dn,max);return 0;14.输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。15.输入三角形的三边长,求三角形面积。求三角形面积的公式为area=sqrt(s(s-a)(s-b)(s-c),其中s=(a+b+c)/2void main ( )float a,b,c,s,area;scanf(%f%f%f,&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c);printf(%fn,area); 16.编程求2!+4!+6!+8!+10!的值,并输出结果。int main() int n=1,sum=0,j,m=1,i; for(i=1;i=5;i+) m=