ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:19.47KB ,
资源ID:7462465      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7462465.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言程序设计第三版谭浩强课后习题答案汇编.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

c语言程序设计第三版谭浩强课后习题答案汇编.docx

1、c语言程序设计第三版谭浩强课后习题答案汇编c语言程序设计第三版谭浩强课后习题答案【篇一:c语言程序设计第三版谭浩强课后习题答案完整版】ude stdio.h void main() printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); printf(very good! n); printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); 1.6 #include stdio.h void main() fl

2、oat max(float x,float y,float z); float a,b,c; printf(请分别输入a,b,c:n); scanf(%f,%f,%f,a,b,c); printf(max=%f,max(a,b,c); float max(float x,float y,float z) float m,n; m=xy? x: y; n=mz? m: z; return(n); 3.6 #include stdio.h void main() char c1=a,c2=b,c3=c,c4=101,c5=116; printf(“a%c b%ctc%ctabcn”,c1,c2,c

3、3); printf(“tb%c %cn”,c4,c5); 3.9.1 #include stdio.h void main() double x=2.5,y=4.7,z; int a=7; z=x+a%3*(int)(x+y)%2/4; printf(该表达式的值为:%f,z); 3.9.2 #include stdio.h void main() int a=2,b=3; float x=3.5,y=2.5,z; z=(float)(a+b)/2+(int)x%(int)y; printf(该表达式的值为:%f,z); 4.5 #include stdio.h void main() in

4、t a=5,b=7; double x=67.8564,y=-789.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,n,n,n); printf(%ld,%lo,%xn,n,n,n);

5、 printf(%u,%o,%x,%dn,u,u,u,u);printf(%s,%5.3sn,computer,computer); 4.6 #include stdio.h void main() int a,b; float x,y; char c1,c2; scanf(a=%d b=%d,a,b); scanf( %f %e,x,y); scanf( %c %c,c1,c2); 4.7 #includestdio.h void main() int a,b; float x,y,z; char c1,c2; scanf(%5d%5d,a,b); scanf(%f%f%*f%f,x,y,z

6、); scanf(%c%c,c1,c2); 4.8 #include stdio.h #define pi 3.14 void main() float r,h,l,s1,s2,v1,v2;printf(请输入r,h的值:n); scanf(%f,%f,r,h); l=2*pi*r; s1=pi*r*r; s2=4*s1; v1=4/3*pi*r*r*r; v2=s1*h; printf(圆周长为:%.2fn,l); printf(圆面积为:%.2fn,s1); printf(圆球表面积为:%.2fn,s2); printf(圆球体积为:%.2fn,v1); printf(圆柱体积为:%.2f

7、n,v2); 5.5 #include stdio.h void main() float x,y; printf(请输入x的值:n); scanf(%f,x); if(x1) y=x; else if(x=1x10) y=2*x-1; else y=3*x-11; printf(x与y的值分别为:n%f,%f,x,y); printf(n); 5.6 #include stdio.h void main() float b; int a; printf(请输入该同学的成绩:n); scanf(%f,b); while (b0|b100) printf(输入有误,请重新输入:n); scanf

8、(%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; case 6: printf(该同学为等级:d);break; case 5: printf(该同学为等级:e);break; #include stdio.h #include math.h void main() int x,y,m,n,i=1,j=0; printf(请给出一个不多于5位的正整数

9、:n); scanf(%d,x); while(x=0|x=100000) printf(输入有误n请给出一个不多于5位的正整数:n);scanf(%d,x); for(n=0;n5;n+) y=int(x/pow(10,n);【篇二:c语言程序设计+谭浩强+第三版+课后习题答案】 * very good! * 解: mian() printf(“*”); printf(“n”); printf(“very good!n”); printf(“n”); printf(“*”); 1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。 解: mian() int a,b,c,max; pr

10、intf(“请输入三个数a,b,c:n”); scanf(“%d,%d,%d”,a,b,c); max=a; if(maxb) max=b; if(maxc) max=c; printf(“最大数为:“%d”,max); 第三章 3.6写出以下程序运行的结果。 main() char c1=a,c2=b,c3=c,c4=101,c5=116; printf(“a%cb%ctc%ctabcn”,c1,c2,c3); printf(“tb%c %c”,c4,c5); 解: aabbccabc an 3.7 要将china译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母例如,字母a后面

11、第4个字母是ee代替a。因此,china应译为glmre。请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,c、h、i、n、a,经过运算,使c1、c2、c3、c4、c5分别变为g、l、m、r、e,并输出。 解: #include stdio.h main() char c1=c,c2=h,c3=i,c4=n,c5=a;c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf(密码是%c%c%c%c%cn,c1,c2,c3,c4,c5); 运行结果: 密码是glmre 3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4

12、 设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 3.10写出程序运行的结果。 main() 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,10 3.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

13、 解: (1) 24 (2) 10 (3) 60(4) 0 (5) 0(6) 0 第四章 44若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=a,c2=b。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 a=_3_ _b=_4_ _c=_5 x=1.200000,y=2.400000,z=-3.600000 x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40 main() int a=3,b=4,c=5;long int u=51274,n=128765; float x=1.2,y=2.4,z=3

14、.6; char c1=a,c2=b; printf(a=%2d b=%2d c=%2dn,a,b,c); printf(x=%f,y=%f,z=%fn,x,y,z); printf(x+y=%5.2f y+z=%5.2f z+x=%5.2fn,x+y,y+z,z+x); printf(u=%6ld n=%9ldn,u,n); printf(%s %s %d%sn,c1=a,or,c1,(ascii); printf(%s %s %d%sn,c2=a,or,c2,(ascii); main() int a,b;float x,y;char c1c2; scanf(a=%d_b=%d,a,b);

15、 scanf(_x=%f_y=%e,x,y); scanf(_c1=%c_c2=%c,c1,c2); a=3_b=7 _x=8.5_y=71.82 _c1=a_c2=a main() float r,h,c1,sa,sb,va,vb; scanf(%f,%f,r,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(c1=%.2fn,c1); printf(sa=%.2fnsb=%.2fnva=%.2fnvb=%.2fn,sa,sb,va,vb); 49输入一个华氏温度,要求输出摄氏温度。公式为 c=

16、5(f-32)/9 输出要求有文字说明,取位2小数。 main() float f,c; scanf(%f,f); c=5*(f-32)/9; printf(c=%.2f,c); 410编程序,用getchar函数读入两个字符给c1、c2,然后分别用函数和函数输出这两个字符。并思考以下问题:(1)变量c1、c2应定义为字符型或整形?抑二者皆可?(2)要求输出c1和c2值的ascii码,应如何处理?用putchar函数还是printf函数?(3)整形变量与字符变量是否在任何情况下都可以互相代替?如: char c1,c2; 与 int c1,c2; 是否无条件的等价? #includestdio

17、.h main() char c1,c2; c1=getchar();c2=getchar(); putchar(c1);putchar(n);putchar(c2);putchar(n); #includestdio.h main() char c1,c2; c1=getchar();c2=getchar(); printf(c1=%d c2=%dn,c1,c2); printf(c1=%c c2=%cn,c1,c2); 第五章 5.1 什么是算术运算?什么是关系运算?什么是逻辑运算? 解:略。 5.2 c语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”? 解:设有一个逻辑表

18、达式,若其结果为“真”,则以1表示;若其结果为“假”,则以0表示。但是判断一个逻辑量的值时,以0代表“真”,以非0代表“假”。例如35的值为“真”,系统给出35的值为1。 5.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。 (1) a+bcb=c (2) a|b+cb-c (3) !(ab)!c|1 (4) !(x=a)(y=b)0 (5) !(a+b)+c-1b+c/2 解: (1) 0 (2) 1 (3) 1 (4) 0(5) 1 5.4 有3个整数a、b、c,由键盘输入,输出其中最大的数。 解: 方法一 #include stdio.h main() int a,b,c; pr

19、intf(请输入3个整数:); scanf(%d,%d,%d,a,b,c); if(ab) if(bc) printf(max=%dn,c); else printf(max=%dn,b); else if(ac) printf(max=%dn,c); else printf(max=%dn,a); 方法二:使用条件表达式,可以使程序更加简明、清晰。 程序如下: #include stdio.h main() int a,b,c,temp,max; printf(请输入3个整数:); scanf(%d,%d,%d,a,b,c); temp=(ab)?a:b; max=(tempc)?temp:

20、c; printf(3个整数的最大数是%dn”,max); 5.5 有一函数: 写一程序,输入x值,输出y值。 解: #include stdio.h main() int x,y; printf(输入x:); scanf(%d,x); if(x1) y=x; printf(x=%3d, y=x=%dn,x,y);【篇三:谭浩强_c语言程序设计(第三版)课后习题答案】/p 4-8 #include iostream #define pi 3.1415 void main() float r,h,rl,ra,ss,sv,cv; printf(输入圆的半径和圆柱的高nn); scanf(%f%f,

21、r,h); rl=2*pi*r; ra=pi*r*r; ss=4*pi*r*r; sv=4*pi*r*r*r/3; cv=ra*h; printf(圆周长为:%fnn圆面积为:%fnn圆球表面积为:%fnn圆球体积为:%fnn圆柱体积为:%fnn,rl,ra,ss,sv,cv); 4-9 #include iostream void main() float f,c; printf(输入一个华氏温度nn); scanf(%f,f); c=5*(f-32)/9; printf(摄氏温度为:%.2fnn,c); 第五章 5-4 #include iostreamvoid main() int a,

22、b,c,max; printf(输入三个整数a,b,cnn); scanf(%d%d%d,a,b,c); if(ab) max=a; else max=b; if(maxc) max=c; printf(最大的数为:%dnn,max); 5-5 #include iostream void main() float x,y; printf(输入xnn); scanf(%f,x); if(x1) y=x; else if(x10) y=2*x-1; else y=3*x-11; printf(y=%fnn,y); 5-6 #include iostream void main() float m

23、; int n; printf(输入成绩nn); scanf(%f,m); n=m/10; switch(n) case 0: case 1: case 2: case 3: case 4: case 5:printf(enn);break; case 6:printf(dnn);break; case 7:printf(cnn);break; case 8:printf(bnn);break; case 9: case 10:printf(ann);break; 5-7 #include iostream #include math.h void main() int a,b,c,i,j,n

24、; printf(输入五位正整数nn); scanf(%d,a); printf(nn); c=a; for(i=1;i+) b=c%10; c=c/10; printf(%d,b); if(c=0) printf(nn); printf(正整数为%d位数nn,i);break; c=a;for(j=i-1;j=0;j-) n=pow(10,j); b=c/n; c=c%n; printf(%dn,b); 5-8 if语句: #include iostream void main() int i; float bonus; printf(输入当月利润inn); scanf(%d,i); if(

25、i=100000) bonus=i/10; else if(i=200000) bonus=10000+(i-100000)*7.5/100; else if(i=400000) bonus=10000+7500+(i-200000)*5/100; else if(i=600000) bonus=10000+7500+10000+(i-400000)*3/100; else if(i=1000000) bonus=10000+7500+10000+6000+(i-600000)*1.5/100; else bonus=10000+7500+10000+6000+6000+(i-1000000)

26、*1/100; printf(应发奖金数为:%fnn,bonus); switch语句: #include iostream void main() int i,n; float bonus; printf(输入当月利润inn); scanf(%d,i);if(i1000000) n=10; else n=i/100000; switch(n) case 0:bonus=i/10;break; case 1:bonus=10000+(i-100000)*7.5/100;break; case 2: case 3:bonus=10000+7500+(i-200000)*5/100;break;

27、case 4: case 5:bonus=10000+7500+10000+(i-400000)*3/100;break; case 6: case 7: case 8: case 9:bonus=10000+7500+10000+6000+(i-600000)*1.5/100;break; case 10:bonus=10000+7500+10000+6000+6000+(i-1000000)*1/100;break; printf(应发奖金数为:%fnn,bonus); 5-9 #include iostream void main() int a,b,c,d,temp,min;contribution n. 贡献 printf(输入四个数a,b,c,dnn); scanf(%d%d%d%d,a,b,c,d);effect n. 结果;效力 if(ab)n. 喷泉;源泉 update vt. 更新;使现代化 temp=a;reaction n. 反应;回应 a=b;hover vi. 盘旋 b=temp;n.同伴;同志;伙伴 volcanology n. 火山学 if(ac)folk adj. 民间的 blister n. 水泡 temp=a; a=c; c=temp;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2