答案-C语言谭浩强(第三版)课后答案.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《答案-C语言谭浩强(第三版)课后答案.pdf》由会员分享,可在线阅读,更多相关《答案-C语言谭浩强(第三版)课后答案.pdf(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 程序设计第三版答案1.5 请参照本章例题,编写一个C 程序,输出以下信息:V er y Go o dj!解:m ai n()(p r i n t f(?,*n);p r i n t f(n );p r i n t f C V er y Go o d!n);p r i n t f(n);p r i n t f(z,*n);1.6编写一个程序,输入a b c 三个值,输出其中最大者。解:m ai n()i n t a,b,c,m ax;p r i n t f(请输入三个数 a,b,c:n);s can f(%d,%d,%d,&a,&b,&c);m ax=a;i f(m ax b)m ax=b;
2、i f(m ax c)m ax=c;p r i n t f(最大数为:%d,m ax);第三章3.3请将下面各数用八进制数和十六进制数表示:(1)10(2)32(3)75(4)-617(5)-111(6)2483(7)-28654(8)21003解:十 八 十 六(10)=(12)=(a)(32)=(40)=20(75)=(113)=4b(-617)=(176627)=fd9 7-l l l=177621=ff9 12483=4663=9 63-28654=110022=9 01221003=51013=520b3.5字符常量与字符串常量有什么区别?解:字符常量是一个字符,用单引号括起来。字符
3、串常量是由0个或若干个字符而成,用双引号把它们括起来,存储时自动在字符串最后加一个结束符号 0.3.6写出以下程序的运行结果:#i n cl u dev o i d m ai n()ch ar cl=a,c2-b,c3=c,c4=101,c5=116;p r i n t f(z,a%c b%c t c%c t abc n,/,cl,c2,c3);p r i n t f(,t b%c%c n”,c4,c5);解:程序的运行结果为:aabb cc abcA N3.7将 C h i n a译成密码.密码规律:用原来的字母后面第4个字母代替原来的字母,例如,字母A后面第4个字母是E,用E代替A.因此,
4、C h i n a 应译为Gl m r e.请编一程序,用赋初值的议程使cl,c2,c3,c4,c5分别变成,小,1,*G,1,m ,r ,e,并输出.m ai n()ch ar c2=h ,c3=i ,c4=n,c5=a;cl+=4;c2+=4;c3+=4;c4+=4;c5+=4;p r i n t f(“密码是%c%c%c%c%c n”,cl,c2,c3,c4,c5);3.8例3.6能否改成如下:#i n cl u dev o i d m ai n()(i n t cl,c2;(原为 ch ar cl,c2)cl=9 7;c2=9 8;p r i n t f(%c%c n”,cl,c2);
5、p r i n t f(/,%d%d n,/,cl,c2);解:可以.因为在可输出的字符范围内,用整型和字符型作用相同.3.9求下面算术表达式的值.(l)x+a%3*(i n t)(x+y)%2/4=2.5(x=2.5,a=7,y=4.7)(2)(fl o at)(a+b)/2+(i n t)x%(i n t)y=3.5(设a=2,b=3,x=3.5,y=2.5)3.10写出下面程序的运行结果:#i n cl u dev o i d m ai n()int i,j,m,n;i=8;j=10;m=+i;n=j+;printf(%d,%d,%d,%dn”,i,j,m,n);解:结果:9,11,9,
6、10第 4 章4.4.a=3,b=4,c=5,x=l.2,y=2.4,z=-3.6,u=5 12 74,n=12 8765,cl=a,c2=b.想得到以下的输出格式和结果,请写出程序要求输出的结果如下:a=3 b=4 c=5x=l.2 00000,y=2.4 00000,z=-3.600000 x+y=3.60 y+z=T.2 0 z+x=2.4 0u=5 12 74 n=12 8765cl=a or 97(ASCII)c2=B or 98(ASCII)解:main()int a,b,c;long int u,n;float x,y,z;char cl,c2;a=3;b=4;c=5;x=l.2
7、;y=2.4;z=-3.6;u=5 12 74;n=12 8765;cl=a;c2-b;printf(n);printf(a=%2 d b=%2 d c=%2 dn”,a,b,c);printf(x=%8.6f,y=%8.6f,z=%9.6fn”,x,y,z);printf(x+y/S.2 f y=z=%5.2 f z+x=%5.2 fn”,x+y,y+z,z+x);printf(u=%61d n=%91dn”,u,n);printf(cl=c or%d(ASCII)n”,cl,c2);printf(c2=%c or%d(ASCII)n”,c2,c2);4.5请写出下面程序的输出结果.结果:5
8、 75 767.85 64 00,-789.12 396267.85 64 00,-789.12 396267.86,-789.12,67.85 64 00,-789.12 3962,67.85 64 00,-789.12 39626.785 64 0e+001,-7.89e+002A,65,101,4 112 34 5 67,4 5 5 32 07,d68765 5 35,17777,ffff,-1CO MPUTER,CO M4.6用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,cl=A,c2=,a,问在键盘上如何输入?main()(int a,b;float
9、x,y;char cl,c2;scanf(a=%d b=%d,&a,&b);scanf(x=%f y=%e,&x,&y);scanf(cl=%c c2=%c”,&cl,&c2);解:可按如下方式在键盘上输入:a=3 b=7x=8.5 y=71.82cl=A c2=a说明:在边疆使用一个或多个s cn af函数时,第一个输入行末尾输入的回车被第二个s can f函数吸收,因此在第二三个s can f函数的双引号后设一个空格以抵消上行入的回车.如果没有这个空格,按上面输入数据会出错,读者目前对此只留有一初步概念即可,以后再进一步深入理解.4.7用下面的s can f函数输入数据使a=10,b=20
10、,cl=A,c2-a,x=l.5,y=-3.75,z=57.8,请问在键盘上如何输入数据?s can f C%5d%5d%c%c%f%f%*f%f,&a,&b,&cl,&c2,&y,&z);解:m ai n()i n t a,b;fl o at x,y,z;ch ar cl,c2;s can f(,%5d%5d%c%c%f%f,,&a,&b,&cl,&c2,&x,&y,&z);运行时输入:10 20A al.5-3.75+1.5,67.8注解:按%5 d格式的要求输入a与b时,要先键入三个空格,而后再打入1 0与20o%*f是用来禁止赋值的。在输入时,对应于%*f的地方,随意打入了一个数1.5
11、,该值不会赋给任何变量。3.8设圆半径r=l.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积,用s c a n f输入数据,输出计算结果,输出时要求有文字说明,取小数点后两位数字.请编程.解:ma in。f l o a t p i,h,r,1,s,s q,v q,v z;p i=3.1 4 1 5 9 2 6;p r in t f (请输入圆半径r圆柱高h:n);s c a n f (%f,%f,&r,&h);l=2*p i*r;s=r*r*p i;s q=4*p i*r*r;v q=4.0/3.0*p i*r*r*r;v z=p i*r*r*h;p r in t f (圆
12、周长为:=%6.2 f n,1);p r in t f (“圆面积为:=%6.2 f n,s);p r in t f (“圆球表面积为:=%6.2 f n,s q);p r in t f (圆球体积为:=%6.2 f n,v z);4.9 输入一个华氏温度,要求输出摄氏温度,公式为C=5/9(F-3 2),输出要有文字说明,取两位小数.解:ma in()f l o a t c,f;p r in t f (请输入一个华氏温度:n);s c a n f (%f,&f);c=(5.0/9.0)*(f-3 2);p r in t f (摄氏温度为:5.2 f n,c);第五章逻辑运算和判断选取结构5.
13、4有三个整数a,b,c,由键盘输入,输出其中最大的数.ma in()(in t a,b,c;p r in t f (“请输入三个数:);s c a n f (d,%d,%d ,&a,&b,&c);if(a b)if (b c)p r in t f (ma x=%d n”,c);e l s ep r in t f (ma x=%d n”,b);e l s e if(a b)?a:b;ma x=(t e mp c)?t e mp:c;p r in t f (A,B,C 中最大数是%d,ma x);5.5 ma in()in t x,y;p r in t f (输入 x:);s c a n f (%
14、d,&x);if(x l)y=x;p r in t f (X_%d,Y=X=%d n ,x,y);)e l s e if(x 9 9 9 9)p l a c e=5;e l s e if(n u m 9 9 9)p l a c e=4;e l s e if(n u m 9 9)p l a c e=3;e l s e if(n u m 9)p l a c e=2;e l s e p l a c e=l;p r in t f(p l a c e=%d n,p l a c e);p r in t f (每位数字为:);t e n _ t ho u s a n d=n u m/1 0 0 0 0;t
15、ho u s a n d=(n u m-t e n t ho u s a n d*1 0 0 0 0)/1 0 0 0;hu n d r e d=(n u m-t e n t ho u s a n d*1 0 0 0 0-t ho u s a n d*1 0 0 0)/1 0 0;t e n=(n u m-t e n t ho u s a n d*1 0 0 0 0-t ho u s a n d*1 0 0 0-hu n d r e d*1 0 0)/1 0;in d ivz zn u m-t e n t ho u s a n d*1 0 0 0 0-t ho u s a n d*1 0 0
16、0-hu n d r e d*1 0 0-t e n*1 0;s w it c h(p l a c e)c a s e5:p r in t f (%d,%d,%d,%d,%d”,t e n t ho u s a n d,t ho u s a n d,hu n d r e d,t e n,in d iv);p r in t f (n 反序数字为:);p r in t f(%d%d%d%d%d n”,in d iv,t e n,hu n d r e d,t ho u s a n d,t e n tho u s a n d);b r e a k;c a s e 4:p r in t f (,%d,%
17、d,%d,%d”,t ho u s a n d,hu n d r e d,t e n,in d iv);p r in t f C n反序数字为:);p r in t f (,%d%d%d%d n,/,in d iv,t e n,hu n d r e d,t ho u s a n d);b r e a k;c a s e 3:p r in t f (%d,%d,%d n”,hu n d r e d,t e n,in d iv);p r in t f (n反序数字为:);p r in t f (,%d%d%d n,J in d iv,t e n,hu n d r e d);c a s e 2:p
18、r in t f (%d,%d n”,t e n,in d iv);p r in t f (n反 序 数 字 为;p r in t f (%d%d n”,in d iv,t e n);c a s e 1:p r in t f(%d n,in d iv);p r in t f C n反序数字为:);p r in t f(%d n”,in d iv);5.8 l.if 语句ma in()l o n g i;f l o a t b o n u s,b o n l,b o n 2,b o n 4,b o n 6,b o n l O;/*初始化变量*/bonl=100000*0.1;bon2=10000
19、0*0.075+bonl;bon4=2 00000*0.05+bon2;bon6=2 00000*0.03+bon4;bonl0=4 00000*0.015+bon6;printf(请输入利润);scanf&i);/*计算*/if(i=le5)bonus=i*0.1;else if(i2 e5)bonus=bonl+(1-100000)*0.075;else if(i=4 e5)bonus=bon2+(i-2 00000)*0.05;else if(i=6e5)bonus=bon4+(i-4 00000)*0.03;else if(i10)branch=10;/*计算*/switch(bran
20、ch)case 0:bonus=i*0.1;break;case 1:bonus=bonl+(i-100000)*0.075;break;case 2:case 3:bonus=bon2+(i-2 00000)*0.05;break;case 4:case 5:bonus=bon4+(i-4 00000)*0.03;break;case 6:case 7:case 8:case 9:bonus=bon6+(i-600000)*0.015;break;case 10:bonus=bonl0+(i-1000000)*0.01;printf(奖金是%10.2 f”,bonus);5.9输入四个整数,
21、按大小顺序输出.main()int t,a,b,c,d;printf(请输入四个数:);scanf(%d,%d,%d,%d,&a,&b,&c,&d);printf(nn a=%d,b=%d,c=%d,d=%d n”,a,b,c,d);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(ad)t=a;a=d;d=t;if (b c)t=b;b=c;c=t;if(b d)t=b;b=d;d=t;if(c d)t=c;c=d;d=t;p r in t f C n排序结果如下:n);p r in t f (%d%d%d%d n”,a,b,c,d);5.1 0 塔ma in()
22、in t h=1 0;f l o a t x,y,x 0=2,y 0=2,d l,d 2,d 3,d 4;p r in t f (请输入一个点(x,y):);s c a n f (%f,%f,&x,&y);d l=(x-x 0)*(x-x O)+(y-y O)(y-y O);d 2=(x-x O)*(x-x O)+(y+y O)(y+y O);d 3=(x+x O)*(x+x O)+(y-y O)*(y-y O);d 4=(x+x O)*(x+x O)+(y+y O)*(y+y O);if(d l l&d 2 l&d 3 l&d 4 l)h=0;p r in t f (该点高度为%d”,h);
23、第六章循环语句6.1 输入两个正数,求最大公约数最小公倍数.ma in()in t a,b,n u ml,n u m2,t e mp;p r in t f (请输入两个正整数:n);s c a n f (%d,%d,J&n u ml,&n u m2);if (n u ml n u m2)t e mp=n u ml;n u ml=n u m2;n u m2=t e mp;a=n u ml,b=n u m2;w hil e(b!=0)(t e mp=a%b;a=b;b=t e mp;p r in t f (它们的最大公约数为:%d n,a);p r in t f (它们的最小公倍数为:%d n,n
24、 u ml*n u m2/2);6.2输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数.解:f t in c l u d e ma in()c ha r c;in t l e t t e r s=O,s p a c e=0,d e git=O,o t he r=0;p r in t f (请输入一行字符:n);w hil e (c=ge t c ha r ()!=n,)if (c =a&c A&c =O&c 二 9 )d igit+;e l s eo t he r+;printf(其中:字母数=%d空格数=%d数字数二知其它字符数=%dn”,letters,space,digi
25、t,other);6.3求s(n)=a+aa+aaa+aaa之值,其中工是一个数字.解:main()int a,n,count=l,sn=0,tn=0;printf(请输入a和n的值:n);scanf(%d,%d,&a,&n);printf(a=%d n=%d n”,a,n);while(count=n)(tn=tn+a;sn=sn+tn;a=a*10;+count;printf(a+aa+aaa+“=%dn”,sn);6.4 求 1+2!+3!+4!+-+2 0!.ma in()(f l o a t n,s=0,t=l;f o r(n=l;n =2 0;n+)t=t*n;s=s+t;p r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 答案 语言 谭浩强 第三 课后
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内