最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

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

来源:动视网 责编:小OO 时间:2025-09-30 13:52:09
文档

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

谭浩强c语言程序设计第三版课后习题答案【篇一:谭浩强--c语言程序设计(第二版)习题答案】ss=txt>第一章1.请参照本章例题,编写一个c程序,输出以下信息:**************************verygood!**************************解:#includestdio.hvoidmain(){printf(**************************);printf(\\n);printf(verygood!\\n);printf(\\n);
推荐度:
导读谭浩强c语言程序设计第三版课后习题答案【篇一:谭浩强--c语言程序设计(第二版)习题答案】ss=txt>第一章1.请参照本章例题,编写一个c程序,输出以下信息:**************************verygood!**************************解:#includestdio.hvoidmain(){printf(**************************);printf(\\n);printf(verygood!\\n);printf(\\n);
谭浩强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;

 int indiv,ten,hundred,thousand,ten_thousand,place;  /*分别代表个位、十位、百位、千位、万位和位数*/

 printf(请输入一个整数(0~99999): );

 scanf(%ld,num);

 if (num9999)  place=5;

 else  if(num999)  place=4;

 else  if(num99)place=3;

 else  if(num9) place=2;

 else  place=1;

 printf(place =%d\\n, 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%d\\n,indiv,ten,hundred,thousand,ten_thousand); break;

 case 4: printf(%d,%d,%d,%d,thousand,hundred,ten,indiv);

 printf(\\n反序数字为: );

 printf(%d%d%d%d\\n,indiv,ten,hundred,thousand);

 break;

 case 3: printf(%d,%d,%d,hundred,ten,indiv);

【篇二:c语言程序设计第三版谭浩强课后习题答案完整版】

p class=txt>**************************

 very good!

**************************

  mian()

 {printf(“**************************”);

 printf(“\\n”);

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

 printf(“\\n”);

 printf(“**************************”);

 } 1.6 a、b、

c

 mian()

 {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);

 }

 第三章

  3.6写出以下程序运行的结果。

 main()

 {char c1=’a’,c2=’b’,c3=’c’,c4=’\\101’,c5=’\\116’;

 printf(“a%cb%c\c%c\abc\\n”,c1,c2,c3);

 printf(“\\\b%c %c”,c4,c5);

 }

 aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabc

 aㄩn

 3.7 要将china

4

 例

 a后面第4个字母是ee代替achina应译为glmre。请编一程

 cl、c2、c3、c4、c5c’、’h’、’i’、’n’、’

a

 c1、c2、c3、c4、c5分别变为’g’、’l’、’m’、’r’、’e

 { 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);

}

  密码是glmre

 3.9求下面算术表达式的值。 1x+a%3*(int)(x+y)%2/4

 设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 12.5 23.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);

 }

 911910

 3.12 写出下面表达式运算后aa=12。设a和n都已定义为整型变量。 1a+=a2 a-=2  3 a*=2+3  4a/=a+a  5 a%=(n%=2)n的值等于5 6

a+=a-=a*=a

  (1) 24 (2) 10 (3) 60(4) 0 (5) 0(6) 0

  第四章 44若a=3b=4c=5x=1.2y=2.4z=-3.6u=51274n=128765c1=’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.6;

 char c1=’a’,c2=’b’;

 printf(a=%2d b=%2d c=%2d\\n,a,b,c);

 printf(x=%f,y=%f,z=%f\\n,x,y,z);

 printf(x+y=%5.2f y+z=%5.2f z+x=%5.2f\\n,x+y,y+z,z+x);

 printf(u=%6ld n=%9ld\\n,u,n);

 printf(%s %s %d%s\\n,c1=’a’,or,c1,(ascii));

 printf(%s %s %d%s\\n,c2=’a’,or,c2,(ascii));

 }

 47用scanfa=3b=7x=8.5y=71.82

 main()

 { int abfloat xy

char c1c2 scanfa=%d_b=%da

b scanf_x=%f_y=%e,x

y scanf_c1=%c_c2=%cc1

c2

 }

 a=3_b=7

 _x=8.5_y=71.82

 _c1=a_c2=a

 48设圆半径r=1.5

h=3

 积。

 用

scanf

  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);

4

9

 {float f,c;

 scanf(%f,f);

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

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

 }

 410getchar函数读入两个字符给c1、

c2

 个

 c1、

c2

 求输出c1和c2值的asciiputchar函数还是

printf

 char c1

c2

 与 int c1

c2

 #includestdio.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=%d\\n,c1,c2);

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

 }

  第五章 5.1

5.2  c10表

 示。

00代表“假”。例如35

的值为“真”

 系统给出35的值为1。

  5.3  写出下面各逻辑表达式的值。设a=3b=4c=5。

 (1)  a+bcb==c

 (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;

 printf(请输入3);

 scanf(%d,%d,%d,a,b,c);

 if(ab)

 if(bc)  printf(max=%d\\n,c);

 else  printf(max=%d\\n,b);

 else  if(ac)  printf(max=%d\\n,c);

 else  printf(max=%d\\n,a);

 }

#include stdio.h

 main()

 { int a,b,c,temp,max;

 printf(请输入3);

 scanf(%d,%d,%d,a,b,c);

 temp=(ab)?a:b; /* 将a和b中的大者存人temp中 */

 max=(tempc)?temp:c;  /* 将a和b中的大者与c*/ printf(3个整数的最大数是%d\\n”,max);

 }

【篇三:c语言程序设计第三版谭浩强课后习题答案完整版】

ude stdio.h

 void main()

 {

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

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

 }

  1.6

 #include stdio.h

 void main()

 {

 float 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%c\c%c\abc\\n”,c1,c2,c3);

 printf(“\\\b%c %c\\n”,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()

 {

 int a=5,b=7;

 double x=67.85,y=-7.124;

 char c=a;

 long n=1234567;

 unsigned u=65535;

 printf(%d%d\\n,a,b);

 printf(%3d%3d\\n,a,b);

 printf(%f,%f\\n,x,y);

 printf(%-10f,%-10f\\n,x,y);

 printf(%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\\n,x,y,x,y,x,y);  printf(%e,%10.2e\\n,x,y);

 printf(%c,%d,%o,%x\\n,n,n,n);

 printf(%ld,%lo,%x\\n,n,n,n);

 printf(%u,%o,%x,%d\\n,u,u,u,u);

printf(%s,%5.3s\\n,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);

 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(圆周长为:%.2f\\n,l);

 printf(圆面积为:%.2f\\n,s1);

 printf(圆球表面积为:%.2f\\n,s2);

 printf(圆球体积为:%.2f\\n,v1);

 printf(圆柱体积为:%.2f\\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(%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位的正整数:\\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语言程序设计第三版课后习题答案

谭浩强c语言程序设计第三版课后习题答案【篇一:谭浩强--c语言程序设计(第二版)习题答案】ss=txt>第一章1.请参照本章例题,编写一个c程序,输出以下信息:**************************verygood!**************************解:#includestdio.hvoidmain(){printf(**************************);printf(\\n);printf(verygood!\\n);printf(\\n);
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top