C语言程序设计(第三版-)习资料题库'答案.doc
《C语言程序设计(第三版-)习资料题库'答案.doc》由会员分享,可在线阅读,更多相关《C语言程序设计(第三版-)习资料题库'答案.doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 语言程序设计(第三版)习题库 1、设圆半径、设圆半径 r=1.5,圆柱高,圆柱高 h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。 用用 scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程 序。序。 #include main() float r,h,C1,Sa,Sb,Va,Vb; scanf(_”%f”_, scanf(”%d”,_; C1=2*3.14*r; Sa=3.14*r*r; Sb=4*Sa; Va=4*3.14*r
2、*r*r/3; Vb=Sa*h; printf(_”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f”,Cl,Sa,Sb,Va,Vb); 2、输入一个华氏温度、输入一个华氏温度,要求输出摄氏温度。公式为要求输出摄氏温度。公式为 c=5(F-32)/9 输出要求有文字说明输出要求有文字说明,取位取位 2 小数。小数。 #include main() float F,c; scanf(“%f“, _c=5*(F-32)/9_; printf(“c=%.2f“,c); 3、有一函数:、有一函数: 写一程序,输入写一程序,输入 x 值,输出值,输出 y 值。值。 10113101
3、121xxxxxx y#include main() int x,y; printf(“输入 x:“); scanf(“%d“, if(x=1 int i=0; scanf(“%ld“, while(num0)i+; /*统计长度*/ m=m*10+num%10;num =num/10; printf(“数字长度为:%d“,i); printf(“逆序数字为:%dn“,m); 5、以下程序实现的功能:求三个数的最大值、以下程序实现的功能:求三个数的最大值 #include main()int a,b,c,max;scanf(“%d %d %d“,if(ab)if(ac) max=a;else
4、max=c; elseif(bc) max=b;else max=c;printf(“max= %d“,max); #include main()int x,y,z,t=0;scanf(“%d %d %d“,if(xy)t=y;y=x;x=t;if(xz)t=z;z=x;x=t;if(yz)t=z;z=y;y=t;printf(“%dn“,z);6、输入两个正整数、输入两个正整数 m 和和 n,求其最大公约数和最小公倍数。,求其最大公约数和最小公倍数。 /*枚举法枚举法*/ #include main() long m,n,i=1,j,s; scanf(“%ld,%ld“, for(;i=n)
5、j=m; else j=n; for(;!(j%m=0j+); printf(“s=%ld,j=%ldn“,s,j); #include main() int a,b,k,temp,i,p; scanf(“%d,%d“,if(ab)temp=b;elsetemp=a;for(i=2;imain() int m,n,k,j,p,r=1; scanf(“%d,%d“, k= mn?m:n; j= mn? n:m; dor=k%j;k=j; j=r;while(r!=0); printf(“%d,%d“,k,m*n/k); /*反复减法反复减法*/ #include main() int m,n,k
6、,j,p,r=1; scanf(“%d,%d“,k= mn? m:n; j= mn?n:m; dop=k-j;if(jp) k=j; j=p;else k=p;while(p!=0); printf(“%d,%d“,k,m*n/k); 7、输入一行字符、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。分别统计出其中英文字母、空格、数字和其他字符的个数。 #include“stdio.h“ main() char c;int i=0,j=0,k=0,l=0; while(c=getchar()!=n) if(c=A long b=0,sum=0;scanf(“%d %d”,fo
7、r (i=1;i main() int i,m,n,k; for(i=100;i main() int i,a,n,s; for (i=100;i0) a=_n%10_;s+=a*a*a; n /=_10_;if (_s=i_) printf(“%d”,i); 10、一个数如果恰好等于它的因子之和,这个数就称为、一个数如果恰好等于它的因子之和,这个数就称为“完数完数“。例如,。例如,6 的因子为的因子为 1、2、3,而,而 6=1+2+3,因此,因此 6 是是“完数完数“。编程序找出。编程序找出 1000 之内的所有完数,并按下面格之内的所有完数,并按下面格 式输出其因子:式输出其因子: 6
8、its factors are 1、2、3 #include main() int a,i,m;for (a =1; a_ #include main() int i=1,flag=1;double sum=0.0,s;dos=_1.0/(2*i-1)_;sum+=s*flag;i+;_flag=-flag_;while(_fabs(s)1e-6_);/*/ printf(“pi=%f“,_4*sum_); 1111、有一分数序列、有一分数序列:2/1,3/2,5/3,2/1,3/2,5/3, 求出这个数列的前求出这个数列的前 2020 项之和。项之和。 #include #define N
9、20 main()int i=1; double x=1,y=2, sum=0; while(_imain() int i,n=10; double h=100,s=100; for(i=2;i #define N 10 main() int i=1,sum=1; while(i+ #include main() float x0,x1,a; scanf(“%f“, x1=a/2; do x0=x1;x1=_(x0+a/x0)/2_; while(_x11e-5_); printf(“%gn“,x1); 15、用牛顿迭代法求方程、用牛顿迭代法求方程在在 1.5 附近的根。附近的根。 06342
10、23xxx #include #include _ #define f(x) 2*x*x*x-4*x*x+3*x-6 main() double x,y;x=_1.5_; do y = f(x); x = x - y/(6*x*x-8*x+3); while(fabs(y)1e-6); printf(“x=%.3fn“,x); 16、用二分法求方程、用二分法求方程在在(-10,10)之间的根之间的根 0634223xxx#include #include #define f(x) 2x*x*x-4*x*x+3*x-6 main() double x1=-10,x2=10,x,y; dox=(x
11、1+x2)/2;y=f(x);if(y1e-6); printf(“x=%gn“,x); 17、以下程序的功能是:以下程序的功能是:输入一个百分制成绩,输出一个五级制成绩等级。例如输入一个百分制成绩,输出一个五级制成绩等级。例如 输入输入 75,输出,输出 C。请完成填空。请完成填空 #include main()int score;scanf(“_%d_“,switch(_score/10_)case 1:case 2:case 3:case 4:case 5: printf(“grade En”); _break_;case 6: printf(“grade Dn”);break; cas
12、e 7: printf(“grade Cn”);break; case 8: printf(“grade Bn”);break; case 9: printf(“grade An”);break;_default_:printf(“Error input!n“); 18、该程序功能:对、该程序功能:对 x=1,2,.,10,求,求 f(x)=x*x-5*x+sin(x)的最大值。的最大值。 #include #include #define f(x) x*x-5*x+sin(x) void main() int x; float max;_max=f(1)_;for(x=2;x main()
13、int a,b,s;scanf(“%d%d“,s=_a*a+b*b_;if(s100) printf(“%d“,_s/100_);else printf(“%d“,_a+b_); 20、有、有 1020 个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,以下程序统计个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,以下程序统计 卖完所需的天数。卖完所需的天数。 #include main()int day,x1,x2;day=0;x1=1020;while(_x10_)x2=_x1/2-2_; x1=x2; day+printf(“day=%d”,day); 21、找出整数的所有因
14、子、找出整数的所有因子 #include main() int i,x;scanf(“%d”, i=1;for ( ; _i main()int n=0,i,j,k;for (i = 1;i main() int i,j,k,l=0;for (i = 0; i main() int n,k=1,s=0,m;for (n=1; n0_) k *=m%10;s+=m%10;_m/=10_;if (ks) printf(“%d”,n); 25、从、从 3 个红球、个红球、5 个白球、个白球、6 个黑球中任意取出个黑球中任意取出 8 个球,且其中必须有白球,输出所有可个球,且其中必须有白球,输出所有可
15、 能的方案。能的方案。 #include main() int i,j,k;for (i=0;i=0_)printf(“%3d %3d %3dn”,i,j,k); 26、以下程序的功能是:判断一个四位数是否满足这样的条件:它的、以下程序的功能是:判断一个四位数是否满足这样的条件:它的 9 倍刚好是它的反序倍刚好是它的反序 数。反序数是指整数各个位上的数字逆序所形成的整数。请完成程序的填空。数。反序数是指整数各个位上的数字逆序所形成的整数。请完成程序的填空。 #include main() int i,a,b,c,d,m;for(i=1000;i+)a=_i%10_;b=i/10%10;c=i/
16、100%10;d=i/1000;m=_a*1000+b*100+c*10+d_;if(_m=i*9_) _break_;printf(“i=%d“,i); 27、以下程序完成两整数的交换。、以下程序完成两整数的交换。 #include main()int a,b;printf(“请依次输入 a,b 的值:”);scanf(“%d,%d”, _a=a+b;_b=a-b_;_a=a-b_;printf(“交换后:a=%d,b=%d”,a,b);28、以下程序的功能是判断输入的年份是否为闰年、以下程序的功能是判断输入的年份是否为闰年,若是则输出若是则输出”yes” ,否则输出否则输出”No” 。#i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 第三 资料 题库 39 答案
限制150内