C语言习题参考答案-缩小版

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

附录D 习题参考答案

习题1答案 习题1答案略。 习题2答案 一、选择题

1.A

2.C

3.D

4.C

5.B

6.A

7. B

8.B

9.C 10.D

二、程序分析题

1. 1,65,1.5,6.5

2. 16

3. c,100

4. 4.000000

5. 10,2

6. -1

7. 3

8. k=11,k=13,k=b 三、填空题

1.6 2.scanf(%d,%d,%d:,&i,&j,&k) ; 3.7.000000 4.040 5. 6.6 6. ch=C,i=67,f1=67.00,db=67.00 7.20,40 8.n1=%d\nn2=%d\n 9.-3 10. x=1,y=2,z=2 x=1,y=3,z=3 x=2,y=1,z=1 四、编程题

1.编写一个求立方的宏,其中数值要求可以输入任意整数。

#include "stdio.h "

#define SQR(n) ((n)*(n)*(n))

main( )

{ int i, j;

scanf("%d",&i); j=SQR(i);

printf(" 求得的立方是 %d\n ",j);

}

3.输入三角形的三边长要求是整数,求三角形的周长。

main() { int x ,y,z,c ;

scanf("%d,%d,%d",&x,&y,&z);

c=x+y+z

printf("周长是:%d\n",c); }

习题3 答案

一、选择题 1.B

2.A

3.D

4.A

5.D

6.B

二、填空题

1. x=-x

2. m%i==0

3. continue

4. switch(c)

5. x>=0

四、程序分析题 1. 3 3 2. 10,4,3

3. 16

4. 23

5. 22

6. 6

7. 0.1

8. a=2,b=1

9. 2

10. 7

五、编程题。

1.输入三个单精度数,输出其中最小值。

main()

{ float x,y,z,min;

printf("input three float numbers:"); scanf("%f%f%f",&x,&y,&z); if(xz) min=z; printf("min=%f\n",min); }

3.输入三角形的三边长,输出三角形的面积。

#include "math.h" main()

{ float a,b,c,s,area;

printf("input three edges:"); scanf("%f%f%f",&a,&b,&c); if((a+b>c)&&(b+c>a)&&(c+a>b)) { s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%.2f\n",area); } else

printf("No triangle\n"); }

6.用switch~case 结构编写一程序,输入月份1~12后,输出该月的英文名称。

#include "stdio.h" main()

{ int month; char ch; while(1)

{ printf("\ninput month (1-12):"); scanf("%d",&month); switch(month) { case 1:printf("January\n");break; case 2:printf("February\n");break; case 3:printf("March\n");break; case 4:printf("April\n");break; case 5:printf("May\n");break; case 6:printf("June\n");break; case 7:printf("July\n");break; case 8:printf("August\n");break;

case 10:printf("October\n");break; case 11:printf("November\n");break; case 12:printf("December\n");break; default:printf("input error\n"); }

getchar();

printf("\ncontinue?(Y/N):"); ch=getche();

if(ch!='y'&&ch!='Y') break;

} }

7. 求S n =a+aa+aaa+…+aa…a(最后一项为n 个a)的值,其中a 是一个数字。如:2+22+222+2222+22222(此时n=5),n 的值从键盘输入。

main()

{ { } }

9.计算∑==+5010011k k k main()

{ }

11. 编程序按下列公式计算y 的值(精度要求为11

+⨯n n <10-6)。

=+⨯=n

r r r y 111 main( )

{ float i,s=2,sum=0; i=1;

while(1/s>=1e-6) { sum+=1/s; i++; s=i*i+1;

相关文档
最新文档