c语言程序设计教程第二版课后习题答
案
【篇一:c语言程序设计教程_李含光_郑关胜_清华大学
出版社习题答案习题答案[完美打印版]】
1.单项选择题
(1)a (2)c(3)d (4)c (5)b 2.填空题 (1)函数 (2)主函数(main) (3)printf() , scanf() 第2章习题参考答案 1.单项选择题
1-5 cbccc 6-10 cdcdc 11-13 dbb 2.填空题
(1)1(2)26 (3)6 , 4 , 2 (4)10 , 6(5)3.000000 (6)双精度(double)(7)9 (8)字母 ,数字 ,下划线(9)13.700000 (10)11(11)((m/10))*100+(m/100)*10+m(12)0 (13)10 ,9 ,11(15)
(x0y0)||(x0z0)||(y0||z0)(16)double (17)x==0(18)sqrt(fabs(a-b))/(3*(a+b))(19)sqrt((x*x+y*y)/(a+b)) 第3章习题参考答案 1.单项选择题
1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2.填空题 (1)用;表示结束(2){ }(3)y=x0?1:x==0?0:-1
(4)y%4==0y0!=0||y@0==0(5)上面未配对(6)default标号 (7)while , do while , for(8)do while(9)本次(10)本层 3.阅读程序,指出结果
(1)yes(2)*(3)abother(4)28 70(5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12(11)i=6,k=4 (12)1,-2 4.程序填空 (1)x:y , u:z
(2)m=n , m!=0,m=m/10
(3)teps , t*n/(2*n+1) , printf(“%lf\\n”,2*s) (4)m%5==0 , printf(“%d\\n”,k) (5)cx=getchar() , cx!=front , cx
(6)double s=0, 1.0/k , %lf (7)s=0 , sgmin, 5.编程题 (1). #include stdio.h int main() {
double x,y; scanf(%lf,x); if(x1) y=x;
else if(x=1.0x10) y=2*x-11; else y=3*x-11;
printf(%lf\\n,y); return 0; } (2). #include stdio.h int main() { double x,y,z,min;
scanf(%lf%lf%lf,x,y,z); if(xy) min=y; else min=x; if(minz) min=z;
printf(min=%lf\\n,min); return 0; } (3). #include stdio.h int main() { int y,m,d,flag,s=0,w,i; scanf(%d%d%d,y,m,d);
flag=(y%4==0y0!=0||y@0==0);
w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7; for(i=1;i=m;i++) { switch(i) {
case 1:s=d;break; case 2:s=31+d;break; case 3:s=59+d;break; case 4:s=90+d;break; case 5:s=120+d;break; case 6:s=151+d;break; case 7:s=181+d;break; case 8:s=212+d;break; case 9:s=243+d;break; case 10:s=273+d;break; case 11:s=304+d;break; case 12:s=334+d;break; } }
s=(w+s)%7; if(s==0) printf(星期日\\n); else
printf(星期%d\\n,s); return 0; } (4).
#include stdio.h int main() { float p,r;
scanf(%f,p); if(p=10) r=p*0.1;
else if(p10p=20) r=10*0.1+(p-10)*0.075; else if(p20p=40) r=10*0.1+10*0.075+(p-20)*0.05; else if(p40p=60) r=10*0.1+10*0.075+20*0.05+(p-40)*0.03; else if(p60p=100)
r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015; else if(p100) r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01; printf(%f\\n,r); return 0; } (5). #include stdio.h int main() { char c;
while((c=getchar())!=\\n) {
if(c=ac=z) c=c-32; putchar(c); }
return 0; } (6).
#includestdio.h int main() { int m,k=2;
printf(输入一个正整数:\\n); scanf(%d,m); while(km) if(m%k==0) {
printf(M,k); m=m/k; } else k++; printf(M\\n,m); return 0; } (7). #includestdio.h int main() { int a,n,s=0,p=0,i;
scanf(%d %d,n,a); for(i=1;i=n;i++) { p=p*10+a; s=s+p; }
printf(%d\\n,s); return 0; } (8). #includestdio.h int main() {
int i,j,k;
for(i=1;i=9;i++) for(j=0;j=9;j++) for(k=0;k=9;k++) printf(],100*i+10*j+k); return 0; } (9).
#includestdio.h #includemath.h int main() {
float a=-10,b=10,x,f1,f2,f; f1=(((2*a-4)*a+3)*a)-6; f2=(((2*b-4)*b+3)*b)-6; do { x=(a+b)/2;
f=(((2*x-4)*x+3)*x)-6; if(f*f10) { b=x; f2=f; } else { a=x; f1=f; }
}while(fabs(f)=1e-6); printf(%6.2f\\n,x); return 0; } (10).
#includestdio.h
#includemath.h int main() { int n=2;
double eps,t,s=0,x;
scanf(%lf %lf,x,eps); t=x; s=t; while(fabs(t)=eps) {
t=-t*(2*n-3)*x*x/(2*n-2); s=s+t/(2*n); n++; } printf(%d,%lf\\n,n,s); return 0; } (11).
#includestdio.h int main() {
unsigned long s,t=0,p=1; scanf(%u,s); while(s!=0) {