预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共49页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C语言程序设计(第2版)课后习题答案 第一章 1.请参照本章例题,编写一个C程序,输出以下信息: ************************** Verygood! ************************** 解: #include<stdio.h> voidmain() { printf(“**************************”); printf(“\n”); printf(“Verygood!\n”); printf(“\n”); printf(“**************************”); } 2.编写一个C程序,输入a、b、c三个值,输出其中最大值。 解: #include<stdio.h> voidmain() { inta,b,c,max; printf(“请输入三个数a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max<b)max=b; if(max<c)max=c; printf(“最大数为:%d”,max); } 第二章 1.假如我国国民生产总值的年增长率为10%,计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为P=(1+r)^n,r为年增长率;n为年数;P为与现在相比的百分比。 解: #include<stdio.h> #include<math.h> voidmain() { doubleP,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> voidmain() { charc1=’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’。问在键盘上如何输入? 解: #include<stdio.h> voidmain() { inta,b;floatx,y;charc1,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位数字。请编程序。 解: #include<stdio.h> voidmain() { floatr,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小数。 解: #include<stdio.h> voidmain() { floatF,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)整形变量与字符变量是否在任何情况下都可以互相代替?如: charc1,c2;与intc1,c2;是否无条件地等价? 解: #include<stdio.h> voidmain() { charc1,c2; c1=getcha