好文档 - 专业文书写作范文服务资料分享网站

谭浩强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()

{

char c1,c2; c1=getchar(); c2=getchar();

putchar(c1);putchar(‘\\n);putchar(c2);putchar(‘\\n); }

#includestdio.h void main() {

char c1,c2; c1=getchar(); c2=getchar();

printf(c1=%d c2=%d\\n,c1,c2); printf(c1=%c c2=%c\\n,c1,c2); }

第四章

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. 有3个整数a、b、c,由键盘输入,输出其中最大的数,请编程序。解:

#includestdio.h void 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个整数的最大数是%d\\n,max);

}

6. 给一个百分制成绩,要求输出等级a、b、c、d、e。90分以上为a,80~90分为b,70~79分为c,60分以下为d。 解:

#includestdio.h void main() {

float score; char grade;

printf(请输入学生成绩: ); scanf(%f,score);

while(score100||score0)

{ printf(\\n输入有误,请重新输入: ); scanf(%f, score); } {

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位的正整数,要求: (1)求出它是几位数;

(2)分别输出每一位数字;

(3)按逆序输出各位数字。例如原数为321,应输出123。 解:

#include stdio.h void main() {

long int num;

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

谭浩强c语言程序设计第三版课后习题答案【篇一:谭浩强--c语言程序设计(第二版)习题答案】ss=txt>第一章1.请参照本章例题,编写一个c程序,输出以下信息:**************************verygood!*********************
推荐度:
点击下载文档文档为doc格式
3r7ca1uuit5nd0e7n2yj9vfqx3d4pq0160e
领取福利

微信扫码领取福利

微信扫码分享