1、 C 语言程序设计 第 1 页 共 26 页 复习题库 题号 题 目 1. 某铁桶厂应客户要求定做一批铁桶,客户给出了铁桶的规格,高30cm,半径 10cm,共订做 1500 个铁桶。计算出所需的原材料。 #include void main () printf(“%f 平方米 n“,1500*(3.14*10*10*2+2*3.14*10*30)/10000); 2. 利用系统库函数实现数学运算,求 xy。 #include #include void main () float x,y; scanf(“%f%f“, printf(“%fn“,pow(x,y); 3. 从键盘上输入一个小写字
2、母,把它转变为大写字母再输出。 #include void main () char a; scanf(“%c“, printf(“%cn“,a-32); 4. 设圆半径 r=1.5,圆柱高 h=3,求圆柱体积,圆柱底面积,圆柱表面积。用 scanf()输入数据,输出计算结果。输出时要有说明,结果取小数点后两位数字。 #include #define PI 3.14159 void main () float r=1.5,h=3,v,d,s; d=PI*r*r; v=d*h; s=2*d+2*PI*r*h; C 语言程序设计 第 2 页 共 26 页 printf(“体积: %.2fn 底面积
3、: %.2fn 表面积: %.2fn“,v,d,s); 5. 由键盘输入 n 的值,编程计算并输出 n!的值。 #include void main () int n,a; scanf(“%d“, for(a=n;n1;n-) a*=n-1; printf(“%dn“,a); 6. 让用户输入一个年份,判断改年份是否是闰年 被 4 整除不能被 100 整除,或者被 400 整除 #include void main () int y; scanf(“%d“, (y%400=0 | (y%4=0 7. 有一个函数 11312xxxy )10()101(1xxx 写程序,输入 x 的值,输出 y
4、相应的值。 #include void main () float x; scanf(“%f“, if(x=10) printf(“y=%fn“,3*x-11); else if(x void main () int x; scanf(“%d“, x/=10; switch (x) case 10: case 9:printf(“An“);break; case 8:printf(“Bn“);break; case 7:printf(“Cn“);break; case 6:printf(“Dn“);break; default :printf(“En“); 9. 计算从出生年份(例如 1996
5、)到当前年份(例如 2014)共经过了多少闰年,输出所有的闰年年份。 #include void main () int i,k=0,m,n; scanf(“%d%d“,/输入起始年份,用空格隔开 for(i=m;i void main () int i,s=0,n=0; for(i=1;s void main () int SIX,NINE,CNT=0; for(SIX=100;SIX void main () int i,j,k=0; for(i=3;i void main () int i,j; for(i=0;i void main () float a10,l=0; int i,j,
6、k; for(i=0;iai) k=i; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * C 语言程序设计 第 6 页 共 26 页 l-=(aj+ak); printf(“aver=%fn“,l/8); 16. 让用户输入 10 个整数,对 10 个整数进行降序排列 #include void main () int a10,i,j,t; for(i=0;i void main() int a10,i; for(i=0;i void main () int a=1,b=1,c,i; printf(
7、“%d %d “,a,b); for (i=0;i #include void main () char a100,b,n; int i; gets(a); b=getchar(); n=strlen(a); for(i=0;in) printf(“-1n“); 20. 写一个函数,求 sn=a+aa+aaa+aaaa+aaaaa.的值, a 的值 n 的值均由用户指定。例如: a=2,n=4, s=2+22+222+2222. #include void main () int a,n,s=0,i,j; scanf(“%d%d“, for(j=a,i=0;i C 语言程序设计 第 8 页 共
8、 26 页 int ss(int a) int i; if(a=1) return 0; else for(i=2;i int sxh (int i) int a,b,c; a=i/100; b=i/10%10; c=i%10; if(i=a*a*a+b*b*b+c*c*c) return 1; return 0; void main() int a,b; scanf(“%d“, b=sxh(a); b=1?printf(“Yesn“):printf(“Non“); 23. 把自然数 1 到 100 中的所有偶数求和,要求:自定义数组存放 100 个数字,程序中必须出现 break, cont
9、inue 语句。 C 语言程序设计 第 9 页 共 26 页 #include void main () int a100,i,s=0; for(i=0;i void main () int a10=1,3,5,7,9,2,4,6,8,0,i,j,t; for(j=0;j int countArray(int ); void main() int a10; int i; for(i=0;i void main () int i; for(i=1; ;i+) if(i%5=1 break; 27. 输入两个数,交换它们的值并输出,要求:以函数的形式写 28. 用辗转相除法求解两个整数的最大公约数。 #include void main() int a,b,c,m;