C程序设计第四版习题完整版答案【排版整洁】

上传人:豆*** 文档编号:201717305 上传时间:2023-04-20 格式:DOC 页数:36 大小:67.50KB
收藏 版权申诉 举报 下载
C程序设计第四版习题完整版答案【排版整洁】_第1页
第1页 / 共36页
C程序设计第四版习题完整版答案【排版整洁】_第2页
第2页 / 共36页
C程序设计第四版习题完整版答案【排版整洁】_第3页
第3页 / 共36页
资源描述:

《C程序设计第四版习题完整版答案【排版整洁】》由会员分享,可在线阅读,更多相关《C程序设计第四版习题完整版答案【排版整洁】(36页珍藏版)》请在装配图网上搜索。

1、第章程序设计和C语言11.1什么是计算机程序1.什么是计算机语言11.3C语言的发展及其特点314最简朴的C语言程序511最简朴的C语言程序举例61.4.2C语言程序的构造101.5运营C程序的环节与措施12.6程序设计的任务1415 include di.hintmain ( ) print (*nn);intf( Vry Good!nn);prin (*n);eturn 0;1-#includetdo.hnt main()int a,,c,max;pitf(lee inut a,c:n);san(d,d,%d,a,&b,c);max=a;if (axb)ma=b;if (max#ncd i

2、nt min()foat p,r,n;=;=10;pow(1+r,n);print(p=%f,p);return 0;3-2#nceinclud it main()float r5,r,r,r1,0,p,p,p2,3,p4,p5;p=00;5=00585;r3=054;2=.48;r10044;r=.0072;=*(+r5)*5); 一次存5年期p2=p*(1+2r2)*(*r3); / 先存2年期,到期后将本息再存3年期p3=(3r3)*(2*r2); /先存3年期,到期后将本息再存年期p4p*w(r1,5); / 存年期,到期后将本息存再存1年期,持续存5次p5p*ow(1+r0/,5);

3、 /存活期存款。活期利息每一季度结算一次printf(1=fn,p1); /输出按第1方案得到的本息和prit(2=,2); /输出按第2方案得到的本息和printf(p3=%f,p3); / 输出按第方案得到的本息和prtf(p4=%,p4); / 输出按第方案得到的本息和pint(=n,); / 输出按第5方案得到的本息和rt 0;3-2-2ilud #includ int main()doubler5,r,r,r1,0,p,p,p2,p3,p4,5;p=1000;r5=0.585;30.054;r20.46;1=.414;r0.7;p1p(1+r5)*5); / 一次存5年期2=p*(1

4、+r2)*(+*r3); / 先存2年期,到期后将本息再存年期3=*(3*r3)*(1+2*r2); / 先存3年期,到期后将本息再存2年期p4=p*pw(1+r,); / 存年期,到期后将本息存再存1年期,持续存5次5=p*po(1+r0/4,4); / 存活期存款。活期利息每一季度结算一次pritf(%f,p1); /输出按第1方案得到的本息和pnt(p2=%f,p2); /输出按第方案得到的本息和printf(p%fn,); / 输出按第3方案得到的本息和print(p4=f,4); / 输出按第4方案得到的本息和pritf(5=fn,5); 输出按第5方案得到的本息和reur 0;3-

5、2-3#include #inlude nt main()floa r5,r,r2,r,r0,p,1,p2,p3,p,p5;p=000;r0.0;r3=0.04;r2=0.068;r1=0.0414;0=00072;1*(+r5)*5); / 一次存5年期p2=p*(12*r2)(+*r); / 先存2年期,到期后将本息再存年期p3=p*(1+3*r)*(1+2r); / 先存3年期,到期后将本息再存2年期4=pow(1+r1,); / 存1年期,到期后将本息存再存1年期,持续存5次p5=p*pw(1+r0,4*); /存活期存款。活期利息每一季度结算一次pritf(p1=%10.2n,p1)

6、; / 输出按第1方案得到的本息和prntf(p=%1.2f,p2); / 输出按第2方案得到的本息和pint(p3%10.2fn,p3); / 输出按第3方案得到的本息和printf(p0.fn,p); 输出按第4方案得到的本息和pntf(p5%10.2fn,p); / 输出按第5方案得到的本息和etun ;-ie #iclude mth.hin mai()float =3000,p6000,r0.01,m;mlo10(p/(p-*r)/g10(+);printf(m6.2n,m);rtu 0;3-4#include int main()int,2;c1=17;c2=98;pin(c1=%,

7、cc,1,c2);pritf(c1=%d,c2%dn,1,c2);retur ;3-#nclud in mi()in a,;loat x,y;char 1,c2;scn(a=%d b%,a,&b);scf(%fe,&,&y);saf(c%c,&c1,&2);prinf(d,b=%d,x=%f,y=f,c1=c,c2=%cn,,,x,y,c,2);retur ;3-6#incue intmn()har c=,c2=h,c3=,c4=n,c5=a;c=c1+;=c24;c3=34;c4=c4;5=c5+4;prntf(passwor %c%c%cn,c1,c2,c4,c5);return0;37#

8、icudeint ma ()floah,r,l,s,sq,q,vz;lot pi=.141526;printf(请输入圆半径r,圆柱高h);scnf(f,f,&r,h); /规定输入圆半径和圆柱高h=2*pi*r; /计算圆周长s=r*r*; /计算圆面积ssq*r; /计算圆球表面积sq3.0/4.0*pir*r*r; /计算圆球体积vq=p*r*h; /计算圆柱体积vzrin(圆周长为: l=%2fn,);pitf(圆面积为: s=%62fn,s);print(圆球表面积为: sq%6.n,sq);rntf(圆球体积为: v=%6.2f,vq);pritf(圆柱体积为: vz=%2fn,z

9、);turn ;3-8-1#cudestdo.hn main()int c1,c; /整型定义printf(请输入两个整数c,c2:);scanf(%d,%d,&c1,&c2);printf(按字符输出成果:);printf(%,c,c1,c2);printf(按ACII码输出成果为:n);prntf(%d,%dn,c1,c2);return0;3-8-2#inlue stdoin min()chr c1,c2; /定义字符型变量nt i1,i2; /定义整型变量printf(请输入两个字符c,c2:);san(c,%c,&1,2);i=c1; /赋值给整型变量i2c2;printf(按字符输

10、出成果:);pinf(%c,%c,i1,2);rintf(按整数输出成果:n);print(d,%n,c,c);retr ;-8-3#inludeint man()char ,; /定义为字符型nt i1,i2; /定义为整型printf(请输入两个整数,i2:);cn(%,%d,i1,2);c=i1; /将整数赋值给字符变量ci2;prinf(按字符输出成果:n);prntf(c,n,c1,c2);rint(按整数输出成果:n);rntf(%d,%n,c,2);eturn ;38#inlu stiohntmai()ch1,c2;pntf(请输入两个字符c1,c2:);c1=gechar();

11、c2gtcar();printf(用ptchar语句输出成果为:);putch(c1);pca(c2);rint(n);pritf(用prntf语句输出成果为:);printf(% %cn,c,2);rer ;第章选择构造程序设计8.1选择构造和条件判断854.2用f语句实现选择构造874.2用f语句解决选择构造举例84.2.i语句的一般形式 9.3关系运算符和关系体现式4.3关系运算符及其优先顺序143.2关系体现式2.4逻辑运算符和逻辑体现式.1逻辑运算符及其优先顺序9344.2逻辑体现式944.3逻辑型变量4.5条件运算符和条件体现式974.选择构造的嵌套994.7用swih语句实现多分

12、支选择构造124选择构造程序综合举例10习题1114-4-1#includ int main()nt a,c;prif(请输入三个整数:);nf(%d,%,%d,&a,&,&);if(aint in()int a,b,c,te,max;pritf(请输入三个整数:);sanf(d,%,d,&a,b,&c);temp(ab)?:b; *将a和中的大者存入tm中*x(tempc)?temp:c; /*将a和中的大者与比较,取最大者*prinf(三个整数的最大数是%n,m);return 0;4-5-2#iclud #iude#dfine M000int main()int i,k;printf(请

13、输入一种不不小于%d的整数:,);can(d,&i);whle(i)pri(输入的数不符合规定,请重新输入一种不不小于d的整数:,M);sf(%,i);k=sq(i);ntf(%的平方根的整数部分是:%d,i,);rtur0;-5#nldestdio.h#include#efne M 1000int main()n i,k;prntf(请输入一种不不小于%的整数i:,M);sanf(%d,&i);if (iM)print(输入的数不符合规定,请重新输入一种不不小于%d的整数i:,M);anf(d,);ksqt(i);print(%d的平方根的整数部分是:dn,k);return ;-6.inl

14、ue intmain() itx,;rint(输入x:);scnf(%d,);if() /x1y;rntf(=d, y=%dn ,x,);le f(0) /*1=10 */y=3*x-11;printf(%d, =*-11=%dn,x,);etun 0;4-7-1nclude int main()int,y;pritf(enr x:);canf(%d,x);y=-;if(x!)f(x0)y=;eley0;rntf(x%d,y=%dn,y);etun ;4-7-2#icdimain()int x,y;printf(les eter x:);af(%d,&x);y0;if(x=)f(x0) y1;

15、ele y-1;prtf(x,y=%dn,x,y);return;8#inclue 100|core0)prnt(n 输入有误,请重输);scanf(%f,&scre);sith(int)(core0)cas 10:case:grade=A;break;case8: grade=B;break;ase7:gde=C;break;case 6: gae=D;bra;ase 5:ase4:cae3:cae2:ase:cas 0: ae=E;printf(成绩是%5.,相应的级别是%c ,scor,grade);rrn 0;49#iclue stdioh#inclue nmain()int num,

16、indiv,ten,hred,thousan,enousa,lace; /分别代表个位,十位,百位,千位,万位和位数printf(请输入一种整数(0-9999):);sca(%,&num);if (num99)pace=5;else if (um999)plac;ee if (nu99)pac3;ele f(nm9)ce=2;le plce=1;pitf(位数:%n,plac);rint(每位数字为:);e_housadnm/1000;hound=(int)(nu-e_thoad10000)/1000;hudred=(int)(num-ten_thousand1000-thoand10)/00

17、;tn(in)(numen_tound*1000-thsnd*1000-hdred*00)10;indiv(t)(num-ten_thousnd*000touand*10-undre*10-ten10);swih(lce)cse :printf(%d,d,%d,%d,%,te_tousand,thouad,hundred,te,indiv);intf(n反序数字为:);prntf(%d%d%n,ndv,te,hundred,housan,n_tosan);bea;ae 4:rintf(%d,%d,%d,d,thosand,hue,ten,ndv);nf(n反序数字为:);pinf(%d%d%d

18、%dn,ndi,ten,hudre,thousad);brak;case3:prif(%d,%,%d,hundrd,ten,indi);printf(n反序数字为:);rintf(d%dn,ind,te,hudr);rea;cae :pintf(,%,tn,indiv);pritf(n反序数字为:);printf(d%n,iniv,e);beak;as 1:printf(,idv);pritf(n反序数字为:);prntf(%dn,ndv);brek;retur0;4-10-1include int main()iti;doubebous,bn1,bon2,bo4,on6,o10;bon1=1

19、00000*0.1;bnn+100*.05;bo4=bo2+1000000.05;bon6=bo4+100000.03;bo1=bon6+400000*0.15;print(请输入利润:);canf(%,&);if (i00)bns=i*0.1;ee i (=00)bonu=bn1+(i-0000)*0.75;else f(i=000)bnu=bn2+(i-0)*0.;ese f(i=60000)bnu=bon4(i00)*.0;els f (i=10)bonus=bon6+(i-0000)0.15;ebs=bo0+(i10000)0.01;prif(奖金是:%.fn,bonus);retun

20、0;4-10#ilude int main()it i;dul onu,bon,bon2,bon,on6,bo0;in branch;bon110000.;bon2=on1+100.05;bnbo2+00*005;bon6=bon4+0*0.3;on10=on6400000.5;rint(请输入利润i:);scan(%d,&);banch=i/000;if(brac0) bran10;swtch(banc) case0:bonu=i*01;brak;case 1:bons=on1(i-1000)*0.05;break;se :case 3: bonus=bon2+(i-00)*0.5;brea

21、k;ase 4:ase 5: ons=bo4(i-400000)00;bek;case 6:a7:cse :ase 9: bnun+(i60000)*001;brek;ase 10:bonus=bon(-10000)*0.01;print(奖金是 %10.n,bns);retn0;11includ nt mn()int ,a,d;printf(请输入四个数:);f(%,d,%d,d,&a,&c,&d);rinf(a=d,=d,c%,=d,a,b,c,);if (b) =a;ab;=t;if (c)=a;a=;ct;if (ad) t=a;a=d;d=t;f (bc) tb;=c;t;i (bd

22、) t=b;b;d=t;if (c) t=c;=d;d=t;pitf(排序成果如下:n);prntf(d %d %d %d n ,a,b,,d);eturn 0;4-1#icl int mai()int h=1;loax12,1,x2=-2,y22,x=2,y=-2,42,y=-,,d1,2,d3,d;pritf(请输入一种点(,y):);scanf(%f,%f,&x,y);d1(x-x)*(-)(y-y4)(y-y4); /*求该点到各中心点距离*d2=(xx1)*(-x1)+(y-y1)(y-1);d3(-x)*(x-2)(-y2)*(y-2);=(x3)*(x-x3)(y-y3)*(y-

23、3);if(d11 & d21 & 1& d4) h0; /*判断该点与否在塔外/printf(该点高度为%dn,);reurn0;第5章循环构造程序设计115.为什么需要循环控制114.用hile语句实现循环1155.用owile语句实现循环1175.4用for 语句实现循环205.5循环的嵌套125.6几种循环的比较155.变化循环执行的状态155.7.用reak语句提前终结循环165.7.用cotnue语句提前结束本次循环127.73beak语句和continue语句的区别1258循环程序举例11习题140-2ncude stdio.h#include / 程序中用到数学函数f,应涉及头

24、文献math.i main()int s=,ont=0; / sign用来表达数值的符号,ount用来记录循环次数dobl p0.0,n=1.0,ter.0; / pi开始代表多项式的值,最后裔表的值, n代表分母,em代表目前项的值while(fs(tem)=1e-8) / 检查目前项erm的绝对值与否不小于或等于10的(-)次方p=p+tem; /把目前项erm累加到pi中n=+2; / n+2是下一项的分母sgn=-ign; /g代表符号,下一项的符号与上一项符号相反erm=g/n; /求出下一项的值tmcoun+; / count累加i=i*4; /多项式的和pi乘以4,才是的近似值p

25、rin(p=%1.8n,i); / 输出的近似值rntf(count=%d,cut); /输出循环次数rturn 0;-3#incle in ain()int p,r,m,emp;pnt(请输入两个正整数n,m:);scan(,%d,n,&);if(nm)tep=n;n=m;=temp;p=n*m;hile(m!0)rn%m;n=m;m=r;pritf(它们的最大公约数为:%dn,n);prtf(它们的最小公约数为:%n,);retr 0;54#nluint min()char c;inleters=0,space=,digit=0,other=0;prinf(请输入一行字符:n);wh(cg

26、etcar()!=n)(c=a & = | c=A & c= &c=9)dgi+;elseother+;printf(字母数:dn空格数:%d数字数:%dn其他字符数:%n,letters,space,digit,othr);rtn;55#ilde stdio.hint main()inta,,i,n=,t=0;print(a,n=:);snf(d,%,&,);wie(i=)=t+a; *赋值后的tn为i个 a构成数的值*sn=n+t; *赋值后的n为多项式前i项之和/=a*10;+;printf(+a+aa+.%d,sn);retrn0;5-#nclud tdio.hintain()doub

27、e s=0,t=;in n;or (n=1;n=20;n+)t=t;ss+t;prntf(1!+2!+.+20!=%22.15en,);rtur 0;5-7#inclde int min()ntn1=00,n2=50,310;uble ,1=0,s=0,s3=0;for (k=;=n;+) /*计算1到00的和*1=s+k;or (k=1;k=;k+) 计算到5各数的平方和/s=2+*k;for (=1;k3;k+) /*计算1到0的各倒数和*/3=s3+1/k;printf(sum=%5.6fn,s+s3);reurn 0;5-include i mi()inti,j,k,n;print(p

28、iss numbrs ar );or(=10;n1000;n+)=/10;j=n/10i*10;k=n%0;if(n=i*ii + j*j + k*)pintf(%d,n);prtf(n);return0;5-9-1#dfine M 10 /定义寻找范畴*/#inclde int an()it 1,k2,k,k4,k5,k6,7,k9,1;i i,a,n,s;f (a2;=M;a+) a是1000之间的整数,检查它与否完数*/n0; / n用来合计a的因子的个数 */s=a; /* s用来寄存尚未求出的因子之和,开始时等于a*for (=1;表达至少有2个因子 /if (n2) printf(

29、,%d,k3); / n2表达至少有3个因子,故应再输出一种因子 */if (n3) pritf(,%d,4); *n3表达至少有4个因子,故应再输出一种因子 */if(4) print(,%d,k); /如下类似 */if(n5)pnf(,%d,k6);i (n6) printf(,%,k7);if (7) prit(,%d,k8);if () prinf(,%d,k9);i (n) pri(,%d,k1);prinf();reur 0;5-9-#ncudestdio.hint mai()intm,s,i;for (m;m1000;m+)s0;for (i=;im;i+)if ((m%)=0

30、) s=s+;if(=m)pit(%d,its fatos are ,m);or (i=1;im;i+)f(m%i=0) prit(%d ,);prit(n);etn ;5-10#incldestdo.hin ai()int i,n=2;double =2,b=1,s,t;fr (i=;iint i()double n00,n/2;int n;fr (n=2;ninmain()ity,1,x2;day=;x=;hie(dy0)x1=(x21)*2; *第天的桃子数是第2天桃子数加后的2倍./2=x1;day-;pif(toal=n,x);return0;-13#inlude #nclde in

31、 ain()flat a,0,x1;printf(en a ositv nuber:);canf(%f,&a);x=/;1=(x0+ax)/2;o=x1;x=(x+a/x0)/;hi(ab(-1)=15);rintf(Thesqare root f %52f s%85fn,a,x);reurn0;14#cld tdio.#nclde n main()dule x1,x0,f,1;x1=1.5;dox0=x1;((20-4)x+3)*x-6;1(6*0-8)*03;1x0f/f1;whle(fabs(x1-x0)=e-);pritf(Theroot ofeuaionis%5.2n,x1);ret

32、rn0;515#includ std.h#incud 0);ox0(x1+x)/2;fx0=0*((2x-4)x0+3)-6;if (fx0*fx)0)x20;x=x0;else=x;fx1=f0;hie(fabs (fx)=1e-5);prnt(x%62fn,x0);retn 0;5#icld stdio.hint ma()inti,j,;for (i0;i=;+)for (j=0;j=;j+)pinf( );f (=0;k=2*i;k+)printf(*);prnt(n);fr(;=2;i+)or(j=0;ji;j+)prinf();for (=0;=4-2i;k+)prntf(*);rintf(n);rtun 0;-7#incudent min()hari,j,k; /是a的对手;j是的对手;是的对手*/or (i=x;i=;i+)or(=x;j=;j+)i (!=j)for(k=x;=z;k+)i(i!= & !=)if (!=x & k!=x & k!z)intf(A-%cnB-%cnC-%c,i,,k);rtrn 0;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!