谭浩强--C语言程序设计(第二版)习题答案

上传人:大米 文档编号:550460100 上传时间:2022-10-06 格式:DOCX 页数:49 大小:40.30KB
返回 下载 相关 举报
谭浩强--C语言程序设计(第二版)习题答案_第1页
第1页 / 共49页
谭浩强--C语言程序设计(第二版)习题答案_第2页
第2页 / 共49页
谭浩强--C语言程序设计(第二版)习题答案_第3页
第3页 / 共49页
谭浩强--C语言程序设计(第二版)习题答案_第4页
第4页 / 共49页
谭浩强--C语言程序设计(第二版)习题答案_第5页
第5页 / 共49页
点击查看更多>>
资源描述

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

1、精选优质文档-倾情为你奉上C语言程序设计(第2版)课后习题答案第一章1.请参照本章例题,编写一个C程序,输出以下信息: * Very good! * 解: #includevoid main()printf(*); printf(n); printf(Very good!n); printf(n); printf(*); 2.编写一个C程序,输入a、b、c三个值,输出其中最大值。 解: #includevoid main() int a,b,c,max; printf(请输入三个数a,b,c:n); scanf(%d,%d,%d,&a,&b,&c); max=a; if(maxb) max=b

2、; if(maxc) max=c; printf(最大数为: %d,max); 第二章1.假如我国国民生产总值的年增长率为10%,计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为P=(1+r)n,r为年增长率;n为年数;P为与现在相比的百分比。解:#include#includevoid main() double P, r=0.1, n=10;P=pow(1+r), n);printf(%lfn, P);3.请编程序将China译成密码,译码规律是用原来字母后面的第4个字母代替原来的字母。例如,字母A后面第4个字母是E, E代替A。因此,China应译为Glmre。请编一程序

3、,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为C、h、i、n、a,经过运算,使c1、c2、c3、c4、c5分别变为G、l、m、r、e,并输出。 解: #include void 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); 第三章3.用下面的scanf函数输入数据,使a=3, b=7, x=8.5, y=71.82, c1=A, c2=a。问在键盘上如何输入? 解:#includevoid main(

4、) int a, b; float x, y; char c1, c2; scanf(a=%d, b=%d, &a, &b); 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 5. 设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后2位数字。请编程序。 解:#includevoid main() float r,h,C1,Sa,Sb,Va,Vb; scanf

5、(%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); 6. 输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9,输出要求有文字说明,取位2小数。 解:#includevoid main() float F,c; scanf(%f,&F); c=5*(F-32)/9; printf(c=%.2f,c); 7. 编程序,用getchar

6、函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。思考以下问题:(1)变量c1、c2应定义为字符型或整形?或二者皆可?(2)要求输出c1和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?(3)整形变量与字符变量是否在任何情况下都可以互相代替?如: charc1,c2;与intc1, c2; 是否无条件地等价? 解:#includevoid main() char c1,c2; c1=getchar();c2=getchar(); putchar(c1);putchar(n);putchar(c2);putchar(n); #

7、includevoid main() char c1,c2; c1=getchar();c2=getchar(); printf(c1=%d c2=%dn,c1,c2); printf(c1=%c c2=%cn,c1,c2); 第四章3. 写出下面各逻辑表达式的值。设a=3,b=4,c=5。 (1) a+bc&b=c (2) a|b+c&b-c (3) !(ab)&!c|1 (4) !(x=a)&(y=b)&0 (5) !(a+b)+c-1&b+c/2 解: (1) 0 (2) 1 (3) 1 (4) 0 (5) 1 5. 有3个整数a、b、c,由键盘输入,输出其中最大的数,请编程序。 解:

8、#includevoid main() int a,b,c,temp,max; printf(请输入3个整数: ); scanf(%d,%d,%d,&a,&b,&c); temp=(ab)?a:b; max=(tempc)?temp:c; printf(3个整数的最大数是%dn,max); 6. 给一个百分制成绩,要求输出等级A、B、C、D、E。90分以上为A,8090分为B,7079分为C,60分以下为D。 解: #includevoid main() float score; char grade; printf(请输入学生成绩: ); scanf(%f,&score); while(sc

9、ore100|score0) printf(n输入有误,请重新输入: ); scanf(%f, &score); switch(int)(score/10) case 10: case 9: grade=A;break; case 8: grade=B;break; case 7: grade=C;break; case 6: grade=D;break; case 5: case 4: case 3: case 2: case 1: case 0: grade=E;break; printf(成绩是%5.1f, 相应的等级是%c. n,score,grade); 7. 给定一个不多于5位的正

10、整数,要求:(1)求出它是几位数;(2)分别输出每一位数字;(3)按逆序输出各位数字。例如原数为321,应输出123。 解: #include void main() long int num; int indiv,ten,hundred,thousand,ten_thousand,place; /*分别代表个位、十位、百位、千位、万位和位数*/ printf(请输入一个整数(099999): ); scanf(%ld,&num); if (num9999) place=5; else if(num999) place=4; else if(num99) place=3; else if(nu

11、m9) place=2; else place=1; printf(place =%dn, place); ten_thousand=num/10000; thousand=num/1000%10; hundred=num/100%10; ten=num%100/10; indiv=num%10; switch(place) case 5: printf(%d,%d,%d,%d,%d,ten_thousand,thousand,hundred,ten,indiv); printf(n反序数字为: ); printf(%d%d%d%d%dn,indiv,ten,hundred,thousand,

12、ten_thousand); break; case 4: printf(%d,%d,%d,%d,thousand,hundred,ten,indiv); printf(n反序数字为: ); printf(%d%d%d%dn,indiv,ten,hundred,thousand); break; case 3: printf(%d,%d,%d,hundred,ten,indiv); printf(n反序数字为: ); printf(%d%d%dn,indiv,ten,hundred); break; case 2: printf(%d,%d,ten,indiv); printf(n反序数字为: ); printf(%d%dn,indiv,ten); break; case 1: printf(%d,indiv); printf(n反序数字为

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

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