C语言程序设计(第三版)习题库答案

上传人:枫** 文档编号:513668708 上传时间:2023-07-19 格式:DOC 页数:26 大小:114.50KB
返回 下载 相关 举报
C语言程序设计(第三版)习题库答案_第1页
第1页 / 共26页
C语言程序设计(第三版)习题库答案_第2页
第2页 / 共26页
C语言程序设计(第三版)习题库答案_第3页
第3页 / 共26页
C语言程序设计(第三版)习题库答案_第4页
第4页 / 共26页
C语言程序设计(第三版)习题库答案_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《C语言程序设计(第三版)习题库答案》由会员分享,可在线阅读,更多相关《C语言程序设计(第三版)习题库答案(26页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计(第三版)习题库1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include main()float r,h,C1,Sa,Sb,Va,Vb; scanf(_”%f”_,&r); scanf(”%d”,_&h_);; C1=2*3.14*r; Sa=3.14*r*r; Sb=4*Sa; Va=4*3.14*r*r*r/3; Vb=Sa*h; printf(_”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f”,Cl,Sa,Sb,V

2、a,Vb);2、输入一个华氏温度,要求输出摄氏温度。公式为 c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include main()float F,c; scanf(%f,&F); _c=5*(F-32)/9_; printf(c=%.2f,c); 3、有一函数: 写一程序,输入x值,输出y值。 #include main()int x,y; printf(输入x:); scanf(%d,&x); if(x1) /* x1 */ y=x; printf(x=%3d, y=x=%dn,x,y); else if (_x10_) /* 1x-10 */ _y=2*x-1_; pri

3、ntf(x=%3d, y=2*x-1=%dn,x,y); else /* x10 */ y=3*x-11; printf(x=%3d, y=3*x-11=%dn,x# include stdio.hmain() int x,y; scanf(%d,&x); if(x=1 & x10) y=2*x-1; else y=3*x-11; printf(%d,y);# include stdio.hmain() int x,y; scanf(%d,&x); if(x=1 & x10) y=2*x-1; else y=3*x-11; printf(%dn,y);# include stdio.hmain

4、() int x,y; scanf(%d,&x); if(x=1 & x10) y=2*x-1; else y=3*x-11; printf(%d,y);scanf(%d,&x); if(x=1 & x10) y=2*x-1; else y=3*x-11; # include stdio.hmain() int x,y; scanf(%d,&x); if(x=1 & x10) y=2*x-1; else y=3*x-11; printf(%d,y);,y); 4、给定一个不多于5位的正整数,要求: 求它是几位数;按逆序打印出各位数字。例如原数为321,应输出123。 #include main

5、() long int num,m=0; int i=0; scanf(%ld,&num); while(num0) i+; /*统计长度*/m=m*10+num%10; num =num/10;printf(数字长度为:%d,i); printf(逆序数字为:%dn,m); 5、以下程序实现的功能:求三个数的最大值#includemain() int a,b,c,max; scanf(%d %d %d,&a,&b,&c); if(ab) if(ac) max=a; else max=c; else if(bc) max=b; else max=c; printf(max= %d,max);#

6、include main() int x,y,z,t=0; scanf(%d %d %d,&x,&y,&z); 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,求其最大公约数和最小公倍数。 /*枚举法*/#includemain() long m,n,i=1,j,s; scanf(%ld,%ld,&m,&n); for(;i=m&i=n)j=m; else j=n; for(;!(j%m=0&j%n=0);j+); printf(s=%ld,j=%ldn,s,j);

7、#include main()int a,b,k,temp,i,p;scanf(%d,%d,&a,&b); if(ab) temp=b; else temp=a; for(i=2;i=temp;i+) if(a%i=0 & b%i=0) k=i; printf(%dn,k); p=a*b/k; printf(%dn,p); /*辗转相除*/#includemain()int m,n,k,j,p,r=1;scanf(%d,%d,&m,&n);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);/*反复减

8、法*/#includemain()int m,n,k,j,p,r=1;scanf(%d,%d,&m,&n);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、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 #includestdio.h main() char c;int i=0,j=0,k=0,l=0; while(c=getchar()!=n) if(c=A&c=a&c=0&c=9) j+; /数字统计else if(c= ) k+;

9、/空格统计else l+; printf(i=%d,j=%d,k=%d,l=%dn,i,j,k,l); 8、求Sn=a+aa+aaa+aaaaa(有n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(n=5),n由键盘输入。 #include main() int a,n; long b=0,sum=0; scanf(“%d %d”,&a,&n); for (i=1;i=n;i+) b = b*10+a; sum =sum+b; printf (“%ld”,sum);9、打印出所有水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙

10、花数,因为153=13+53+33。 【程序1】#includemain()int i,m,n,k;for(i=100;i1000;i+)m=_i%10_; n=_ i/10%10_; k=i/100; if(_m*m*m+n*n*n+k*k*k=i_) printf(%5d,i);【程序2】#includemain()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是完

11、数。编程序找出1000之内的所有完数,并按下面格式输出其因子: 6itsfactorsare1、2、3 #include main() int a,i,m; for (a =1; a=1000;a+) for (_i=1,m=0_; i = a/2;i+) if (!(a%i) _m+=i_; if (m=a) printf(“%4d”,a); 11、利用:p/4=1-1/3+1/5-1/7+.级数求p的值,直到最后一项的绝对值小于10-6为止。求绝对值的函数为fabs()。#_include_#includemain() int i=1,flag=1; double sum=0.0,s; do s=_1.0/(2*i-1)_; sum+=s*flag; i+; _flag=-flag_; w

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号