C语言程序设计教程李含光郑关胜清华大学出版社习题答案习题答案完美打印版.docx
- 文档编号:28511075
- 上传时间:2023-07-18
- 格式:DOCX
- 页数:45
- 大小:23.42KB
C语言程序设计教程李含光郑关胜清华大学出版社习题答案习题答案完美打印版.docx
《C语言程序设计教程李含光郑关胜清华大学出版社习题答案习题答案完美打印版.docx》由会员分享,可在线阅读,更多相关《C语言程序设计教程李含光郑关胜清华大学出版社习题答案习题答案完美打印版.docx(45页珍藏版)》请在冰豆网上搜索。
C语言程序设计教程李含光郑关胜清华大学出版社习题答案习题答案完美打印版
第1章习题参考答案
1.单项选择题
(1)A
(2)C(3)D(4)C(5)B
2.填空题
(1)函数
(2)主函数(main)
(3)printf(),scanf()
第2章习题参考答案
1.单项选择题
1-5CBCCC6-10CDCDC11-13DBB
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)%10)*100+(m/100)*10+m%10(12)0
(13)10,9,11(15)(x<0&&y<0)||(x<0&&z<0)||(y<0||z<0)(16)double
(17)x==0(18)sqrt(fabs(a-b))/(3*(a+b))(19)sqrt((x*x+y*y)/(a+b))
第3章习题参考答案
1.单项选择题
1-5CCCDD6-10BCDBC11-15BCBBB16A
2.填空题
(1)用;表示结束
(2){}(3)y=x<0?
1:
x==0?
0:
-1
(4)y%4==0&&y%100!
=0||y%400==0(5)上面未配对(6)default标号
(7)while,dowhile,for(8)dowhile(9)本次(10)本层
3.阅读程序,指出结果
(1)yes
(2)*&(3)ABother(4)2870(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)t (4)m%5==0,printf(“%d\n”,k) (5)cx=getchar(),cx! =front,cx (6)doubles=0,1.0/k,%lf (7)s>=0,s 5.编程题 (1). #include intmain() { doublex,y; scanf("%lf",&x); if(x<1) y=x; elseif(x>=1.0&&x<10) y=2*x-11; else y=3*x-11; printf("%lf\n",y); return0; } (2). #include intmain() { doublex,y,z,min; scanf("%lf%lf%lf",&x,&y,&z); if(x>y) min=y; else min=x; if(min>z) min=z; printf("min=%lf\n",min); return0; } (3). #include intmain() { inty,m,d,flag,s=0,w,i; scanf("%d%d%d",&y,&m,&d); flag=(y%4==0&&y%100! =0||y%400==0); w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7; for(i=1;i<=m;i++) { switch(i) { case1: s=d;break; case2: s=31+d;break; case3: s=59+d;break; case4: s=90+d;break; case5: s=120+d;break; case6: s=151+d;break; case7: s=181+d;break; case8: s=212+d;break; case9: s=243+d;break; case10: s=273+d;break; case11: s=304+d;break; case12: s=334+d;break; } } if(flag==1&&m>2) s=s+1; s=(w+s)%7; if(s==0) printf("星期日\n"); else printf("星期%d\n",s); return0; } (4). #include intmain() { floatp,r; scanf("%f",&p); if(p<=10) r=p*0.1; elseif(p>10&&p<=20) r=10*0.1+(p-10)*0.075; elseif(p>20&&p<=40) r=10*0.1+10*0.075+(p-20)*0.05; elseif(p>40&&p<=60) r=10*0.1+10*0.075+20*0.05+(p-40)*0.03; elseif(p>60&&p<=100) r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015; elseif(p>100) r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01; printf("%f\n",r); return0; } (5). #include intmain() { charc; while((c=getchar())! ='\n') { if(c>='a'&&c<='z') c=c-32; putchar(c); } return0; } (6). #include intmain() { intm,k=2; printf("输入一个正整数: \n"); scanf("%d",&m); while(k if(m%k==0) { printf("%4d",k); m=m/k; } else k++; printf("%4d\n",m); return0; } (7). #include intmain() { inta,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); return0; } (8). #include intmain() { inti,j,k; for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) printf("%5d",100*i+10*j+k); return0; } (9). #include #include intmain() { floata=-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*f1<0) { b=x; f2=f; } else { a=x; f1=f; } }while(fabs(f)>=1e-6); printf("%6.2f\n",x); return0; } (10). #include #include intmain() { intn=2; doubleeps,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); return0; } (11). #include intmain() { unsignedlongs,t=0,p=1; scanf("%u",&s); while(s! =0) { if((s%10)%2! =0) { t=t+(s%10)*p; p=p*10; } s=s/10; } printf("%u\n",t); return0; } 第4章习题参考答案 1.单项选择题 1-5DDDBD6-10BADCD11-14BDAB 2.填空题 (1)2 (2)嵌套,递归 (3)全局变量,局部变量,静态变量,动态变量 (4)auto,static,register,extern (5)外部变量(6)编译,运行 3.阅读程序,指出结果 (1)15 (2)5(3)5,4,3 (4)i=5 i=2 i=2 i=4 i=2 (5)求水仙花数(6)-5*5*5(7)30 (8)010 111 212 4.程序填空 (1)floatfun(float,float),x+y,x-y,z+y,z-y (2)x,x*x+1 (3)s=0,a=a+b 5.编程题 (1). #include unsignedintfun(unsignedint); intmain() { unsignedints; scanf("%u",&s); printf("%u\n",fun(s)); return0; } unsignedintfun(unsignedints) { unsignedintp=0; while(s! =0) { p=p+s%10; s=s/10; } returnp; } (2). #include #include #include voidf1(float,float,float,float); voidf2(float,float,float,float); voidf3(float,float,float,float);intmain() { floata,b,c,d; scanf("%f%f%f",&a,&b,&c); if(a==0) { printf("不是一元二次方程\n"); exit(0); } d=b*b-4*a*c; if(d>0) f1(a,b,c,d); elseif(d==0) f2(a,b,c,d); else f3(a,b,c,d); return0; } voidf1(floata,floatb,floatc,floatd){ floatx1,x2; { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf("%.2f,%.2f\n",x1,x2); } } voidf2(floata,floatb,floatc,floatd){ floatx1,x2; { x1=-b/(2*a); x2=-b/(2*a); printf("%.2f,%.2f\n",x1,x2); } } voidf3(floata,floatb,floatc,floatd){ floatx1,x2; { x1=-b/(2*a); x2=sqrt(-d)/(2*a); printf("%.2f+i*%.2f\n",x1,x2); printf("%.2f-i*%.2f\n",x1,x2); } } (3). #include doublep(int,double); intmain() { intn; doublex; do { scanf("%d",&n); }while(n<0); scanf("%lf",&x); printf("%lf\n",p(n,x)); return0; } doublep(intn,doublex) { doublepn; if(n==0) pn=1; elseif(n==1) pn=x; else pn=((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n; returnpn; } (4). #include #defineRATE0.053 doublefun(float); voiddisplay(float,int); intmain() { floatdep; intseason; scanf("%f%d",&dep,&season); display(dep,season); return0; } doublefun(floatd) { returnd*RATE; } voiddisplay(floatd,ints) { inti; printf("季度利余额\n");printf("-------------------------------\n"); for(i=1;i<=s;i++) { printf("%-4d%-.2f%-.2f\n",i,fun(d),fun(d)*i+d); printf("-------------------------------\n"); } } (5). #include doublefun(void); intmain() { printf("%lf\n",fun()); return0; } doublefun(void) { doubles=0; intn=1; while((double)(2*n-1)/((2*n)*(2*n))>1e-4) { s=s+(double)(2*n-1)/((2*n)*(2*n)); n++; } returns; } (6). #include intfun(int); intmain() { intw; scanf("%d",&w); printf("%d\n",fun(w)); return0; } intfun(intw) { intn=1,p=1,m; m=w; while(m>10) { m=m/10; p=p*10; n++; } returnw%p; } 第5章习题参考答案 1、选择题: 1-5C(BC)BBA6-8DDB 2、填空题 (1)0,9 (2)floatrealArray[100],charstrArray[16],intintArray[1000] (3)运算符sizeof(4)6字节 3、阅读程序,写出下面程序的运行结果 (1)aa bb ccdd (2)ab c d (3)ahAMa(4)0010(5)1345 (6)Thisisthetitle. Name1isRosalinda Name2isZeke ThebiggestnamealpabeticallyisZeke BothnamesareRosalindaZeke (7)00000000 01234567 025681074814 036912151821 0481216202428 051015201773035 06121824303642 07142128354249 4、程序填空 (1)a[i][j]! =a[j][i],1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 教程 李含光郑关胜 清华大学出版社 习题 答案 完美 打印