完整版计算机二级C语言考试编程题题库.docx
《完整版计算机二级C语言考试编程题题库.docx》由会员分享,可在线阅读,更多相关《完整版计算机二级C语言考试编程题题库.docx(36页珍藏版)》请在冰豆网上搜索。
完整版计算机二级完整版计算机二级C语言考试编程题题库语言考试编程题题库计算机计算机c语言编程题库语言编程题库1、求、求100之内自然数中最大的能被之内自然数中最大的能被17整除的数整除的数。
voidmain()inti;for(i=100;i0;i-)if(i%17=0)break;printf(%dn,i);2、已知、已知a,b,c都是都是1位整数,求当三位整数位整数,求当三位整数abc、cba的和为的和为1333时时a、b、c的值。
的值。
voidmain()inta,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整除的整数的和。
整除的整数的和。
voidmain()inti,sum=0;for(i=200;i=400;i+)if(i%3!
=0)sum=sum+i;printf(%dn,sum);4、从键盘输入、从键盘输入10个数,统计非负数的个数,并计算非负数的和。
个数,统计非负数的个数,并计算非负数的和。
voidmain()inti,n=0,sum=0;inta10;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之内自然数中偶数之和。
之内自然数中偶数之和。
voidmain()inti,sum=0;for(i=0;i=100;i+)if(i%2=0)sum=sum+i;printf(sum=%dn,sum);6、输入、输入5个数,求和并输出。
要求编写求和的函数。
个数,求和并输出。
要求编写求和的函数。
voidmain()intb(intx,intn);intsum=0;inta5;inti;printf(请输入5个数:
);for(i=0;i5;i+)scanf(%d,&ai);sum=b(a,5);printf(sum=%dn,sum);intb(intx,intn)inti,sum=0;for(i=0;i5;i+)sum=sum+xi;returnsum;7、编程计算、编程计算1*2*3+3*4*5+5*6*7+.+99*100*101的值。
的值。
voidmain()inti,sum=0;for(i=1;i=99;i=i+2)sum=sum+i*(i+1)*(i+2);printf(%dn,sum);8、编写程序,将用户输入的字符串中所有的字符、编写程序,将用户输入的字符串中所有的字符a用用*代替,然后输出代替,然后输出voidmain()inti,n;charb20;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、编写程序,将一个一维数组的元素逆序存放并输出。
例如,原顺序为、编写程序,将一个一维数组的元素逆序存放并输出。
例如,原顺序为3,4,5,逆序后为,逆序后为5,4,3,2,1。
voidmain()inti;inta5;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)1,2,如果为负printf(on);if(a%2!
=0)printf(jn);12、计算并输出、计算并输出1-200之间不能被之间不能被5整除的整数的和。
整除的整数的和。
voidmain()inti,sum=0;for(i=1;i=200;i+)if(i%5!
=0)sum=sum+i;printf(%dn,sum);13、从键盘输入、从键盘输入n和和a的值,计算的值,计算a+aa+aaa+.+aa.a(n个个a)的值的值voidmain()inti,a,n;longintsum=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个数,求它们中最大值和平均值并输出。
个数,求它们中最大值和平均值并输出。
voidmain()inta5;inti,j,max,sum=0;floataverage;printf(请输入5个数:
);for(i=0;i5;i+)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的整数。
的整数。
voidmain()inti;for(i=200;i=400;i+)if(i%3=0)&(i-6)%10=0)printf(%dn,i);printf(n);16、编写程序,将用户输入的字符串中所有的字符、编写程序,将用户输入的字符串中所有的字符a去掉,然后输出剩余去掉,然后输出剩余的字的字符。
voidmain()inti,j,n1;chara20;printf(请输入字符串:
);gets(a);n1=strlen(a);for(i=0;in1;i+)if(ai!
=a)printf(%c,ai);printf(n);17、计算并输出、计算并输出200-400之间不能被之间不能被7整除的整数的和。
整除的整数的和。
voidmain()inti,sum=0;for(i=200;i=400;i+)if(i%7!
=0)sum=sum+i;printf(sum=%dn,sum);18.计算并输出计算并输出200-400之间不能被之间不能被5整除的整数的和。
整除的整数的和。
voidmain()inti,sum=0;for(i=200;i=400;i+)if(i%5!
=0)sum=sum+i;printf(sum=%dn,sum);19、从键盘输入、从键盘输入10个数,统计非正数的个数,并计算非正数的和个数,统计非正数的个数,并计算非正数的和voidmain()inti,n=0,sum=0;inta10;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、输入一串字符,将其中的大写字母变成对应的小写字母并输出。
、输入一串字符,将其中的大写字母变成对应的小写字母并输出。
voidmain()inti,n;chara20;printf(请输入字符串:
);gets(a);n=strlen(a);for(i=0;i=A&ai=Z)ai=ai+32;for(i=0;in;i+)printf(%c,ai);printf(n);21、打印所有的水仙花数。
所谓水仙花数是指一个三位数,其各位数字的、打印所有的水仙花数。
所谓水仙花数是指一个三位数,其各位数字的立方立方和等于该数。
例如,和等于该数。
例如,153就是一个水仙花数,因为就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3voidmain()inta,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米高度自由落下,每次落地后反弹回原高度的一半,米高度自由落下,每次落地后反弹回原高度的一半,再落再落下,再反弹。
求当它第下,再反弹。
求当它第10次落地时,共经过了多少米,第次落地时,共经过了多少米,第10次反弹次反弹多高?
多高?
voidmain()inti;for(i=2;i=10;i+)sum=sum+2*h;h=h/2;printf(%f,%fn,sum,h);23、输出所有、输出所有0-200之间能被之间能被3整除且个位数字为整除且个位数字为6的整数的整数。
voidmain()inti;for(i=0;i=200;i+)if(i%3=0)&(i-6)%10=0)printf(%dn,i);printf(n);24、输入一个正整数,输出它的阶乘。
、输入一个正整数,输出它的阶乘。
voidmain()inti,J=1,n=10;printf(请“输入一个正整数:
”);scanf(“%d”,&n);for(i=1;i=n;i+)J=J*i;printf(%d的阶乘是:
%dn,n,J);25、编写程序,判断从键盘输入的字符中数字字符的个数、大写字母的个、编写程序,判断从键盘输入的字符中数字字符的个数、大写字母的个数、数、小写字母的个数及其它字符的个数,以小写字母的个数及其它字符的个数,以*作为字符输入结束标志。
作为字符输入结束标志。
voidmain()inti,x,m=0,n=0,k=0,j=0;chara20;printf(请输入字符串:
);gets(a);x=strlen(a);for(i=0;i=0&ai=A&ai=a&ai=z)k+;elsej+;printf(%d,%d,%d,%dn,m,n,k,j);26、编写程序,使用循环结构输出下列图形:
、编写程序,使用循环结构输出下列图形:
voidmain()inti,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、输入一串字符,逆序输出。
要求使用数组实现。
、输入一串字符,逆序输出。
要求使用数组实现。
voidmain()inti,j,t,n;chara10;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/4+.+1/99-1/100的值。
的值。
voidmain()intn,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),计算计算每个学生的总分和平均成绩并输出,结每个学生的总分和平均成绩并输出,结果保留一位小数。
果保留一位小数。
voidmain()inta34=60,70,65,75,75,80,75,90,95,75,90,65;inti,j;printf(三个学生的总分和平均成绩依次为:
n);for(i=0;i3;i+)for(j=0;j4;j+)sum=sum+aij;average=sum/4;printf(%.2f,%.2fn,sum,average);30、求两个正整数的最大公约数。
、求两个正整数的最大公约数。
voidmain()intm,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之内自然数中奇数之和。
之内自然数中奇数之和。
voidmain()inti,sum=0;for(i=0;i=100;i+)if(i%2!
=0)sum=sum+i;printf(sum=%dn,sum);32、输出所有、输出所有200-400之间能被之间能被3整除且个位数字为整除且个位数字为7的整数。
的整数。
voidmain()inti;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的值。
的值。
voidmain()inti,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+5*5+.+n*n的值。
要求的值。
要求编写函编写函数数f求平方。
求平方。
voidmain()intf(intx);intn,sum;printf(请输n值:
);scanf(%d,&n);sum=f(n);printf(%dn,sum);intf(intx)intj,z=0;for(j=1;j=x;j+)z=z+j*j;returnz;35、计算并输出、计算并输出1-200之间不能被之间不能被3整除的整数的和。
整除的整数的和。
voidmain()inti,sum=0;for(i=1;i=200;i+)if(i%3!
=0)sum=sum+i;printf(%dn,sum);36、输入、输入3个学生个学生4门课的成绩门课的成绩(60,70,65,75),(75,80,75,90),(95,75,90,65),计算计算每个学生的总分和平均成绩并输出,结果保留一位小数。
每个学生的总分和平均成绩并输出,结果保留一位小数。
voidmain()inta34=60,70,65,75,75,80,75,90,95,75,90,65;inti,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)。
要求。
要求结果保结果保留两位小数。
留两位小数。
voidmain()floatF,c;printf(请“输入一个华氏温度:
”);scanf(“%f”,&F);printf(%.2fn,c);38、输入任意三个数,按从大到小的顺序输出。
、输入任意三个数,按从大到小的顺序输出。
voidmain()inta,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()inti,j,k;intcount=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、从键盘输入圆的半径,计算并输出圆面积与周长,要求结果保留两位、从键盘输入圆的半径,计算并输出圆面积与周长,要求结果保留两位小小数。
数。
voidmain()intr;floatc,s;printf(请“输入半径r:
”);scanf(“%d”,&r);s=pi*r*r;c=2*pi*r;printf(面积=%.2f,周长=%.2fn,s,c);41、从键盘输入一个字符串,再输入两个正整数、从键盘输入一个字符串,再输入两个正整数m和和n,输出字符串中从,输出字符串中从m开开始,连始,连续续n个字符。
例如,输入个字符。
例如,输入abcdefg,2,3,输出,输出bcd。
voidmain()inti,m,n;chara20;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位的正整数,判断它是几位数,并逆序输出各位数位的正整数,判断它是几位数,并逆序输出各位数字。
字。
voidmain()inta,b,c,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);elseif(b!
=0)printf(它是4位数,%d,%d,%d,%dn,e,d,c,b);elseif(c!
=0)printf(它是3位数,%d,%d,%dn,e,d,c);elseif(d!
=0)printf(它是2位数,%d,%dn,e,d);elseprintf(它是1位数,%dn,e);43,输出输出Fibonacci数列的前数列的前40项项voidmain()inta40=1,1;inti;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,判断某一年是否是闰年,判断某一年是否是闰年voidmain()intyear,leap;printf(请“输入一个年份:
”);scanf(%d,&year);if(year%4=0)if(year%100=0)if(year%400=0)leap=1;elseleap=0;elseleap=1;elseleap=0;if(leap)printf(%disaleapyearn,year);elseprintf(%disnotaleapyearn,year);45,起泡法,起泡法(选择法选择法)对十个数排序对十个数排序voidmain()inti,j,t;inta10;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,判断某个数是否为素数,判断某个数是否为素数.voidmain()inti,m;floatk;printf(请输入一个正整数:
);scanf(%d,&m);k=sqrt(m);for(i=2;ik)printf(%disaprimenumbern,m);elseprintf(%disnotaprimenumbern,m);47,编程计算编程计算1!
+2!
+3!
+10的值。
的值。
voidmain()inti,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!
=%nl,dsum);48,求以下数列前十五项的和:
,求以下数列前十五项的和:
2/1,3/2,5/3,8/5,13/8,21/13。
voidmain()intn;for(n=1;n=15;n+)sum=sum+a/b;t=a;a=a+b;b=t;printf(%fn,sum);49,从键盘输入圆柱体高与底面半径,计算并输出圆柱体表面积与体积,从键盘输入圆柱体高与底面半径,计算并输出圆柱体表面积与体积,要求要求结果保留两位小数。
结果保留两位小数。
voidmain()inth,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,从键盘输入一个十进制整型数据,计算并输出其各位上数字之和从键盘输入一个十进制整型数据,计算并输出其各位上数字之和(忽略忽略正负正负号号)。
例如,输入。
例如,输入1234,输出,输出10;输入;输入-1234,输出,输出10。
voidmain()inti1,i2,i3,i4,n,sum;inta;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);voidmain()inti,n;printf(请输入存款本金x和存款年数n:
);scanf(%f%d,&x,&n);y=x;for(i=1;i=n;i+)y=y*(1+r);printf(%fn,y);52,编程编程判断输入的字符串是否为判断输入的字符串是否为“回文回文”。
所谓。
所谓“回文回文”是指顺读和倒读都一是指顺读和倒读都一样,如样,如abcba。
voidmain()inti,n;chara20;printf(请输入字符串:
);gets(a);n=strlen(a);for(i=0;i=n)printf(是回文.n);53、编写程序,将用户输入的字符串中删除所有的数字,然后输出剩余的、编写程序,将用户输入的字符串中删除所有的数字,然后输出剩余的字字符。
符。
voidmain()inti,j,n1;chara20;printf(请输入字符串:
);gets(a);n1=strlen(a);for(i=0;i=0&ai=9)=0)printf(%c,ai);printf(n);1.有一函数:
当有一函数:
当x0时,时,y=1。
编一编一程序,输入程序,输入x的值,输出的值,输出y的值。
的值。
intmain()intx,y;scanf(%d,&x);if(x=0)if(x0)y=1;elsey=0;elsey=-1;printf(x=%d,y=%dn,x,y);return0;2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。
输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。
intmain()floata,b,c,t;scanf(%f,%f,%f,&