C语言习题参考答案-缩小版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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(x
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;