收藏 分享(赏)

谭浩强c程序设计第三版课后答案(整本书).doc.doc

上传人:cjc2202537 文档编号:253846 上传时间:2018-03-25 格式:DOC 页数:129 大小:469KB
下载 相关 举报
谭浩强c程序设计第三版课后答案(整本书).doc.doc_第1页
第1页 / 共129页
谭浩强c程序设计第三版课后答案(整本书).doc.doc_第2页
第2页 / 共129页
谭浩强c程序设计第三版课后答案(整本书).doc.doc_第3页
第3页 / 共129页
谭浩强c程序设计第三版课后答案(整本书).doc.doc_第4页
第4页 / 共129页
谭浩强c程序设计第三版课后答案(整本书).doc.doc_第5页
第5页 / 共129页
点击查看更多>>
资源描述

1、C程序设计(第三版)课后习题参考解答1.6 写一个程序,输入 a,b,c 三个值,输出其中最大者。解:main ( )int a,b,c,max;printf(“请输入三个数 a,b,c: n”);scanf(“%d,%d,%d”,max=a;if (maxvoid main ( ) char c1=a, c2=b, c3=c, c4=101, c5=116;printf (“a%c b%ct c%ct abcn”, c1, c2, c3);printf (“tb%c %c”, c4, c5);解:程序运行的结果为:aa bb cc abcA N37 要将“China”译成密码,密码规律是:用

2、原来的字母后面第 4 个字母代替原来的字母。例如,字母“A”后面第 4 个字母是“E ”,用“E”代替“A” 。因此, “China”应译为“Glmre” 。请编一程序,用赋初值的方法使 c1,c2,c3,c4,c5 这 5 个变量的值分别为C, h, i, n, a,经过运算,使 c1,c2,c3,c4,c5 的值分别变为G, l, m, r, e,并输出。解:main ( ) char cl=C, c2=h, c3=i, c4=n, c5=a;c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf(“密码是c c cccn, c1, c2, c3, c4, c5);运行结

3、果:密码是 Glmre38 例 2.6 能否改成如下:main ( ) int c1, c2; (原为 char c1, c2)c1=97;c2=98;printf (“%c %cn”, c1, c2);printf (“%d %dn”, c1, c2);解:可以。因为在可输出的字符范围内,用整型和用字符型作用相同。39 求下面算术表达式的值。(1) x+a%3*(int)(x+y)%2/4设 x=2.5,a=7,y=4.7(2) (float)(a+b)/2+(int)x%(int)y设 a=2,b=3,x=3.5 ,y=2.5解:(1)2.5(2)3.5 310 写出程序运行的结果。mai

4、n ( ) int i, j, m, n;i=8;j=10;m=+i;n=j+;printf (“%d, %d, %d, %d”, i, j, m, n);解:运行结果为:9,11,9,10311 写出下面赋值的结果。格中写了数值的是要将它赋给其他类型的变量,将所有空格填上赋值后的数值。int 99 42char d unsigned int 76 65535float 53.65long int 68解:int 99 100 76 53 68 42 1char c d L 5 D * unsigned int 99 100 76 53 68 42 65535float 99.00000010

5、0.00000076.00000053.65 68.000000 42.000000 65535.000000long int 99 100 76 53 68 42 655353.12 出下面表达式运算后 a 的值,设原来 a=12。设 a 和 n 都已定义为整型变量。(1)a+=a (2)a-=2 (3)a *=2+3 (4)a/=a+a(5)a%=(n%=2) ,n 的值等于 5 (6)a+=a-=a *=a解:(1)24 (2)10(3)60 (4)0(5)0 (6)0 第 4 章 最简单的 C 程序设计顺序程序设计4.4 若 a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6

6、 ,u=51247,n=128765,c1=a,c2=b ,想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出) 。要求输出的结果如下:a=3b=4c=5x= 1.200000,y= 2.400000,z= -3.600000x+y= 3.60y+z=-1.20z+x=-2.40u= 51247n= 128765c1=aor97(ASCII)c2=bor98(ASCII)解:main ( )int a,b,c;long int u,n;float x,y,z;char c1,c2;a=3;b=4;c=5;x=1.2;y=2.4;z= -3.6;u=51247;n=128765;

7、c1=a;c2=b;printf(“n”);printf(“a=%2db=%2dc=%2dn”,a,b,c);printf(“x=%.6f,y=%.6f,z=%.6fn”,x,y,z);printf(“x+y=%.2fy+z=%.2fz+x=%.2fn”,x+y,y+z,z+x);printf(“u=%6ldn=%9ldn”,u,n);printf(“c1=%c or %d(ASCII)n”,c1,c1);printf(“c2=%c or %d(ASCII)n”,c2,c2);45 请写出下面程序的输出结果:main ( ) int a=5,b=7;float x=67.8564,y=-789

8、.124;char c=A;long n=1234567;unsigned u=65535;printf(“%d%dn”,a,b);printf(“%3d%3dn”,a,b);printf(“%f,%fn”,x,y);printf(“%-10f,%-10fn”,x,y);printf(“%8.2f, %8.2f,%4f, %4f, %3f, %3fn”,x,y,x,y,x,y);printf(“%e,%10.2en”,x,y);printf(“%c,%d,%o,%xn”,c,c,c,c);printf(“%ld,%lo,%xn”,n,n,n);printf(“%u,%o,%x,%dn”,u,u

9、,u,u);printf(“%s,%5.3sn”,”COMPUTER”,”COMPUTER”);运行结果:575767.856400, -789.12402367.856400, -789.12402367.86,-789.12,67.8564,-789.1240,67.856400,-789.1240236.785640e+01,-7.9e+02A,65,101,411234567,4553207,d68765535,177777,ffff,-1COMPUTER, COM可以发现,输出数据中若有负号、e 和小数点,这些字符也占位。4.6 用下面的 scanf 函数输入数据,使 a=3,b=7

10、,x=8.5,y=71.82,c1=A,c2=a。问在键盘上如何输入?#include void main()int a , b;float x , y;char c1 ,c2;scanf(“a=%d b=%d”,scanf(“ %f %e”,scanf(“ %c %c”,解:a=3b=78.571.82Aa4.7 下面的 scanf 函数输入数据,使 a=10,b=20,c1=A,c2=a,x=1.5,y=-3.75,z=67.8,请问在键盘上如何输入数据?scanf(“%5d%5d%c%c%f%f%*f,%f”,解:main ( )int a,b;float x,y,z;char c1,c

11、2;scanf(“%5d%5d%c%c%f%f%*f,%f”,printf(“a=%d, b=%d, c1=%c, c2=%c, x=%6.2f, y=6.2f, z=6.2fn”),a,b,c1,c2,x,y,z);运行情况如下:1020Aa1.5 3.751.5,67.8 (此行为输入的数据,其中 为空格)a=10, b=20, c1=A, c2=a, x=1.50, y=-3.75, z=67.80 (此行为输出)说明:按%5d 格式的要求输入 a 和 b 时,要先键入三个空格,然后再键入 10 与 20。%*f是用来禁止赋值的。在输入时,对应于%*f 的地方,随意打入了一个数 1.5,

12、该值不会赋给任何变量。4.8 圆半径 r=1.5,圆柱高 h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。用 scanf 输入数据,输出计算结果,输出时要求有文字说明,取小数点后 2 位数字。请编程序。解:main ( )float pi,h,r,l,s,sq,vq,vz;pi=3.1415926;printf(“请输入圆半径 r,圆柱高 h:n”);scanf(“%f,%f”,l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;vq=3.0/4.0*pi*r*r*r;vz=pi*r*r*h;printf(“圆周长为: l=%6.2fn”,l);printf(“圆面积为: s

13、=%6.2fn”,s);printf(“圆球表面积为: sq=%6.2fn”,sq);printf(“圆球体积为: sv=%6.2fn”,vq);printf(“圆柱体积为: sz=%6.2fn”,vz);运行结果:请输入圆半径 r,圆柱高 h:1.5,3圆周长为: l=9.42圆面积为: s=7.07圆球表面积为: sq=28.27圆球体积为: sv=7.95圆柱体积为: sz=21.214.9 输入一个华氏温度,要求输出摄氏温度,公式为 C=(5/9)(F-32)输出要有文字说明,取 2 位小数。解:main ( ) float c,f;printf(“请输入一个华氏温度:n”);scan

14、f(“%f”,c=(5.0/9.0)*(f-32); /*注意 5 和 9 要用实型表示,否则 5/9 的值为 0*/printf(“摄氏温度为:%5.2fn”,c);运行结果:请输入一个华氏温度:78摄氏温度为:25.56第 5 章 选择结构程序设计5.2 语言中如何表示“真”和 “假”?系统如何判断一个量的“真”和“假”?解:设有一个逻辑表达式,若其结果为“真” ,则以 1 表示;若其结果为“假” ,则以 0 表示。但是判断一个逻辑量的值时,以 0 代表“真” ,以非 0 代表“假” 。例如 3printf(“请输入 3 个整数:”);scanf(“%d,%d,%d”,if (ab)if (bc)printf(“max=%dn”,c);elseprintf(“max=%dn”,b);else if (ac)printf(“max=%dn”,c);elseprintf(“max=%dn”,a);运行结果:请输入 3 个整数:12, 34, 9max=34方法二:使用条件表达式,可以使程序更简明,清晰。main ( ) int a,b,c,temp,max ;printf(“请输入 3 个整数:”);scanf(“%d,%d,%d”,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报