谭浩强c语言程序设计第三版课后习题答案 下载本文

谭浩强c语言程序设计第三版课后习题

答案

【篇一:谭浩强--c语言程序设计(第二版)习题答案】

ss=txt>第一章

1.请参照本章例题,编写一个c程序,输出以下信息: ************************** very good!

************************** 解:

#includestdio.h void main() {

printf(**************************); printf(\\n);

printf(very good!\\n); printf(\\n);

printf(**************************); }

2.编写一个c程序,输入a、b、c三个值,输出其中最大值。解: #includestdio.h void main() {

int a,b,c,max;

printf(请输入三个数a,b,c:\\n); scanf(%d,%d,%d,a,b,c); max=a;

if(maxb) max=b; if(maxc) max=c;

printf(最大数为: %d,max); }

第二章

1.假如我国国民生产总值的年增长率为10%,计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为p=(1+r)^n,r为年增长率;n为年数;p为与现在相比的百分比。 解:

#includestdio.h

#includemath.h void main() {

double p, r=0.1, n=10; p=pow((1+r), n); printf(%lf\\n, p); }

3.请编程序将china译成密码,译码规律是用原来字母后面的第4个字母代替原来的字母。例如,字母a后面第4个字母是e, e代替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 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%c\\n,c1,c2,c3,c4,c5); }

第三章

3.用下面的scanf函数输入数据,使a=3, b=7, x=8.5, y=71.82, c1=a, c2=a。问在键盘上如何输入? 解:

#includestdio.h void main() {

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位数字。请编程序。 解:

#includestdio.h void 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=%.2f\\n,c1);

printf(sa=%.2f\\nsb=%.2f\\nva=%.2f\\nvb=%.2f\\n,sa,sb,va,vb); }

6. 输入一个华氏温度,要求输出摄氏温度。公式为c=5(f-32)/9,输出要求有文字说明,取位2小数。 解:

#includestdio.h void main() {

float f,c;

scanf(%f,f); c=5*(f-32)/9;

printf(c=%.2f,c); }

7. 编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。思考以下问题: (1)变量c1、c2应定义为字符型或整形?或二者皆可?

(2)要求输出c1和c2值的ascii码,应如何处理?用putchar函数还是printf函数?

(3)整形变量与字符变量是否在任何情况下都可以互相代替?如: char c1,c2;与int c1, c2; 是否无条件地等价? 解:

#includestdio.h void main()