C语言程序设计方案第三版谭浩强课后习题答案完整版_第1页
C语言程序设计方案第三版谭浩强课后习题答案完整版_第2页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 1.5 #in elude void mai n() Uery ood* Press any key to continue 1.6 #in elude void mai n() float max(float x,float y,float z)。 float a,b,e。 printf(” 请分别输入 a,b,c:n)。 sea nf(%f,%f,%f, &a,&b,&c)。 prin tf(max=%f,max(a,b,c)。 float max(float x,float y,float z) float m,n。 m=xy? x: y 。 n=mz? m:

2、z。 return( n)。 请分别钿入h”u: 1_22_3,0.6 piax=2 _30000BPress any key to cont in ue 3.6 #in elude void mai n() ehar e1 = a ,c2= b ,c3= e ,e4= 101 ,e5= 116。 printf( “ a%c b%ete%etaben ” ,c1,e2,e3)。 printf( “ tb%e %cn ” ,c4,c5)。printf( * * n) printf(” Very good! n) printf( * * n) aa bb cc abc n M Press any

3、key to cont inue 3.9.1 #in elude void mai n() double x=2.5,y=4.7,z。 int a=7。 z=x+a%3*(i nt)(x+y)%2/4 。 printf(该表达式的值为: f,z)。 : 2 .500000Press any k思y to comt inue 3.9.2 #in elude void mai n() int a=2,b=3。 float x=3.5,y=2.5,z。 z=(float)(a+b)/2+(i nt)x%(i nt)y 。 printf(该表达式的值为: f,z)。 #in elude void ma

4、i n() int a=5,b=7 。 double x=67.8564,y=-789.124 char c=A 。 long n=1234567 。 un sig ned u=65535 。 prin tf(%d%dn,a,b) prin tf(%3d%3dn,a,b) prin tf(%f,%fn,x,y) prin tf(%-10f,%-10fn,x,y) prin tf(%8.2f,%8.2f,%.4f,%.4f,%3f,%3fn,x,y,x,y,x,y) prin tf(%e,%10.2en,x,y) prin tf(%c,%d,%o,%xn, n,n,n) prin tf(%ld,

5、%lo,%xn, n,n,n) prin tf(%u,%o,%x,%dn,u,u,u,u) prin tf(%s,%5.3sn,COMPUTER,COMPUTER) 57 5 7 856400,-789124000 67-856400 ,-789.124000 67.86, -78*9-12,67-8564,-789.1240,67-856400,-789.124000 785640e 也酊.-?.8?e +002 71234567,4553207.252124 1234567,4553207,12(1667 5535,177777,ffff.G5535 COMPUTEK, COM Press

6、 an9 ke9 to cont inue 4.6 #i nclude void mai n() int a,b 。 float x,y 。 char c1,c2 。 sca nf(a=%d b=%d,&a,&b)。 sca nf(” %f %e, &x,&y) 。 sca nf(” %c %c,&c1,&c2) 。 i=3 h=7 8 _5 7 _182e +001 A a ress 烈ny key to continue 4.7 #in clude void mai n() int a,b 。 float x,y,z 。 char c1,c2

7、 。 sca nf(%5d%5d,&a,&b)。 sca nf(%f%f%*f%f, &x, &y,&z) sca nf(%c%c, &c1,& c2)。 10 20 A a 1-5 -3.7567.8 kress any key to cont inue 4.8 #in clude #defi ne pi 3.14 void mai n() float r,h,l,s1,s2,v1,v2 printf(” 请输入 r, h的值:n) scan f(%f,%f, &r,&h) 。 l=2*pi*r 。 s1=pi*r*r

8、。 s2=4*s1 。 v1=4/3*pi*r*r*r v2=s1*h 。 prin tf( 圆周长为:%.2fn,l) printf( 圆面积为:%.2fn ,s1)。 prin tf(圆球表面积为:%.2fn,s2) printf(” 圆球体积为: %.2fn ,v1)。 printf(圆柱体积为:%.2fn ,v2)。 5.5 #in clude void mai n() float x,y。 printf(请输入 x的值:n)。 scanf(%f,&x)。 if(x=1 &xess 艮ny kei/ to continue 5.6 #i nclude void mai

9、n() float b。 hff 2& continue 00 2 2 7 4 0 s .积 D t int a。 printf(”请输入该同学的成绩:n)。 scanf(%f,&b)。 while (b100) printf(输入有误,请重新输入:n)。 scanf(%f,&b)。 a= int(b/10)。 if(a6) a=5。 switch(a) case 10: case 9: printf(该同学为等级: A)。 break。 case 8: printf(该同学为等级: B)。 break。 case 7: printf(该同学为等级: C)。 break

10、。 case 6: printf(该同学为等级: D)。 break。 case 5: printf(该同学为等级: E)。 break。 101 输入有误,请重新输入: -2.5 输入有误,请重新输入 99-5 该同学戈爭级;ft Press an i/ key to cont in ue #in clude #in clude void mai n() int x,y,m,n,i=1,j=0 。 printf(”请给出一个不多于 5 位的正整数:n)。 scanf(%d,&x)。 while(x=100000) printf(输入有误n请给出一个不多于 5 位的正整数:n)。 sc

11、anf(%d,&x)。 for(n=0。 n0& y=0)。 printf(n逆序输出为n)。 do printf( %d,i nt(x/pow(10,j)%10) j+。 while(j-m0)。 printf(n)。 青给岀一个不多于石位的正整数 L23456 匾入有误匕 宵给岀一个不多于石位的正整数 L4235 艺是石位数 从高到低徑依次为 1 4 2 3 5 逆序输出为 5 3 2 4 1 Press 硕1*1 to continue 6.1 输入两个正整数 m 和 n,求其最大公约数和最小公倍数 #i nclude void mai n() int m,n,i,j。

12、printf(请分别输入 m,n 的值:n)。 scanf(%d,%d,&m,&n)。 for(i=1。i=m。i+) if(m%i=0&n %i=0) j=i。 printf(这两个整数的最大公约数是:d,j) il for(i=j。i+) if(i%m=O&i%n=0) break 。 printf(这两个整数的最小公倍数数是:%d,i) printf(n)。 6.2 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符 的个数。 #i nclude void mai n() int i=0,j=0,k=0,x=0。 char Co printf

13、(请输入一行字符串:n)。 while(c=getchar()!=n) if(c=A&c=a&c=0&c=9) k+。 else x+o printf(英文字母、空格、数字、其他字符的个数分别 为:d,%d,%d,%d,i,j,k,x)。 printf(n)。 贋输入一行字符串; 餐文字母、空格、数字、其他字符的个数分别为:Q2.4.4 any key to continue 6.3 求 Sn=a+aa+aaa+aaa 之值,其中 a 是一个数字。 2222+ 22222 (此时 n= 5), n 由键盘输入。 #i nclude #in clude void mai

14、n() int i,n。 int sum=0,s=0。 printf(请输入 n 的值:n)。 scan f(%d,&n)。 while( n1) printf(请重新输入 n 的值:n)。 sca nf(%d,&n)。 for(i=0。in。i+) s+=pow(10,i)。 sum+=2*s。 printf(sum=%dn,sum)。 6.8 题目:有一分数序列 2/1,3/2,5/3,8/5,13/8,21/13, 20 项之和。 #i nclude void main() int a=1,b=1,i 。 float sum=0.0 。 for(i=0 。i20。i+)

15、例如:2+ 22 + 222+ 求出这个数列的前 a=a+b。 b=a-b 。 sum+=(float)a/b 。 prin tf( 这个数列前二十项之和为:n%f,sum) prin tf(n) 。 壬个数列前二十项之和为* ress any ke呼 to continue 7.2 #in clude void mai n() int i,j,t,a1O。 printf(”请输入十个整数:n)。 for(i=0。i10。i+) scanf(%d,&ai)。 for(j=1。j10。j+) for(i=0。i10-j。i+) if(aiai+1) t=ai。 ai=ai+1。 ai+1

16、=t o printf(这十位数从大到小排列为: n)。 for(i=0。i10。i+) printf(%5d,ai)。 printf(n)。 淸输化十整哉: 1256-4-2589-3 it十位数从大到小排列为I 9 8 6 5 5 2 1 -2 -3 -4 Press an( (/ to continue_ 7.3 #in clude void mai n() int i,j,m,n,a33。 printf(请输入 3*3 的整形矩阵n)。 for(i=0。i3。i+) for(j=0。 j3。 j+) scan f(%d,&aij)。 m=a00+a11+a22。 n=a02+a

17、11+a20。 printf(3*3 的整形矩阵对角线元素之和为: n)。 printf(%d,%d,m,n)。 请输入 MT 的整形矩阵 125 6 3478 9 3痢的整形矩阵对角线元素之西为; 13,lSPress anj kf to continue 7.4 #in clude void mai n() static int a10=1,5,6,10,20,24,55,58,64。 int i,t o printf(”请输入一个数:n)。 scanf(%d,&a9)。 for(i=9。i0。 i-) if(aiai-1) t=ai-1。 ai-1=ai。 ai=t o for(

18、i=0。i10。i+) prin tf(%4d,ai)。 printf(n)。 茸胸八一T数, 2 1 5 6 10 20 24 52 55 58 64 anF kw* to continue 7.8 #in clude void mai n() int a55,b5,c5,d 55。 int i,j,k,l。 printf(请输入 5*5 的整型数组n)。 for(i=0。i5。 i+) for(j=0。j5。j+) scan f(%d, &dij)。 for(i=0。i5。i+) for(j=0。 j5。 j+) aij=dij。 for(i=0,k=0 o i5。 i+,k+)

19、for(j=0 o j=aij+1) bk=aij+1=aij。 else bk=aij+1。 for(j=0,l=0。j5。j+,l+) for(i=0。i4。 i+) if(aij=ai+1j) cl=ai+1j=aij。 else cl=ai+1j。 for(i=0,k=0 o i5。 i+,k+) for(j=0,l=0。j5。j+,l+) if(dij-bk=0) if(dij-cl=0) printf(” 鞍点为 d%d%d=%dn,i,j,dij) else printf(没有鞍点 n)。 13 14 IS 1G 17 18 19 20 21 22 23 24 药 7.10 #i

20、n clude #in clude void mai n() int i,j=O,k=O,l=O,m=O,n=0 。 char str0301,str1100,str2100,str3100。10 d0点点点点 为 点有有有有 琢又殳殳殳 o t y e con tinue gets(strl)。 gets(str2)。 gets(str3)。 strcat(strO,str1)。 strcat(str0,str2)。 strcat(str0,st 。 for(i=0。strOi!=O。i+) if(strOi=A&strOi=a&strOi=O&strOi=9) l+

21、 。 else if(strOi=) m+ 。 else n+。 printf(”大写字母、小写字母、数字、空格以及其他字符的个数依次为: prin tf(%5d %7d %5d %6d %4dn,j,k,l,m, n)。 printf(n)。 7.14 #i nclude #in clude void mai n() int i=0,resu。 char s1100,s2100。 printf(n 请输入 string1 :)。 gets(s1)。 printf(n 请输入 string2 :)。 gets(s2)。 while(s1i=s2i &s1i!=0) i+。 if(s1i

22、=O&s2i=0) resu=0 。 else resu=s1i-s2i。 printf(n result : %dn,resu)。 请输入stpinffl: love 请输入 string; like result: 6 anv to continue 8.1 #in cluden)。 void mai n() int maxgy(int m,int n)。 int mingb(int o,int p)。 int a,b。 printf(请输入两个正整数: a, bn)。 scanf(%d,%d,&a,&b)。 while(a=0|b=0) printf(注:请输入两

23、个正整数: a, bn)。 scanf(%d,%d,&a,&b)。 printf(这两个数的最大公约数是: d,maxgy(a,b)。 printf(这两个数的最小公倍数是: %d,mingb(a,b)。 printf(n)。 int maxgy(i nt m,i nt n) int i,k。 for(i=1 。 i=m。 i+) if(m%i=0&n %i=0) k=i。 return k。 int min gb(i nt o,i nt p) int j。 for(j=o。 j+) if(j%o=0&j%p=O) break。 return j。 请输入两个正整

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论