



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(完整)c语言程序设计(谭浩强)第四版_课后答案(完整)c语言程序设计(谭浩强)第四版_课后答案 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)c语言程序设计(谭浩强)第四版_课后答案)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为(完整)c语言程序设计(谭浩强)第四版_课后答案的全部内容。在各种埋地管道的应用过
2、程中,管道能否达到规定的长期使用寿命的一个关键因素就是铺设的质量。而hdpe管道具有多种独特性能使管道的铺设更加安全第一章 程序设计和c语言 【第15页】15 #include int main ( ) printf (”*n); printf( very good!n”); printf (”*n”); return 0;1-6#include stdio.hint main()int a,b,c,max; printf(please input a,b,c:n”); scanf(”%d,d,d,a,&b,c); max=a; if (maxb) max=b; if (maxint main
3、()float p,r,n; r=0。1; n=10; p=pow(1+r,n); printf(”p=%fn”,p); return 0;321#include int main()float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0。0072; p1=p(1+r5)5); / 一次存5年期 p2=p*(1+2*r2)*(1+3*r3); / 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)(1+2*r2); / 先存3年期,到期后将本息再存2
4、年期 p4=ppow(1+r1,5); / 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); / 存活期存款。活期利息每一季度结算一次 printf(”p1=%fn,p1); / 输出按第1方案得到的本息和 printf(”p2=fn,p2); / 输出按第2方案得到的本息和 printf(”p3=%fn”,p3); / 输出按第3方案得到的本息和 printf(”p4=fn”,p4); / 输出按第4方案得到的本息和 printf(”p5=fn,p5); / 输出按第5方案得到的本息和 return 0;3-22include stdio。h#inc
5、lude math。hint main()double r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0。0585; r3=0。054; r2=0。0468; r1=0.0414; r0=0.0072; p1=p*(1+r5)5); / 一次存5年期 p2=p*(1+2*r2)(1+3r3); / 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2r2); / 先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); / 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,45); / 存
6、活期存款。活期利息每一季度结算一次 printf(p1=fn”,p1); / 输出按第1方案得到的本息和 printf(”p2=%fn,p2); / 输出按第2方案得到的本息和 printf(p3=%fn”,p3); / 输出按第3方案得到的本息和 printf(p4=fn,p4); / 输出按第4方案得到的本息和 printf(”p5=fn,p5); / 输出按第5方案得到的本息和 return 0;323#include #include math。hint main()float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0。0585; r3
7、=0。054; r2=0.0468; r1=0.0414; r0=0.0072; p1=p*((1+r5)*5); / 一次存5年期 p2=p(1+2r2)*(1+3*r3); / 先存2年期,到期后将本息再存3年期 p3=p(1+3*r3)*(1+2r2); / 先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); / 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); / 存活期存款。活期利息每一季度结算一次 printf(p1=10.2fn”,p1); / 输出按第1方案得到的本息和 printf(p2=10.2fn,p2); /
8、 输出按第2方案得到的本息和 printf(p3=10.2fn,p3); / 输出按第3方案得到的本息和 printf(”p4=10。2fn,p4); / 输出按第4方案得到的本息和 printf(p5=10。2fn”,p5); / 输出按第5方案得到的本息和 return 0;3-3。#include include math.hint main()float d=,p=6000,r=0。01,m; m=log10(p/(p-d*r))/log10(1+r); printf(m=6.2fn,m); return 0;3-4include stdio.hint main()int c1,c2;
9、 c1=197; c2=198; printf(c1=c,c2=cn”,c1,c2); printf(c1=%d,c2=dn,c1,c2); return 0;3-5include stdio。hint main()int a,b; float x,y; char c1,c2; scanf(”a=d b=%d,&a,&b); scanf(%f e”,&x,y); scanf(”%cc,&c1,&c2); printf(a=%d,b=%d,x=%f,y=f,c1=%c,c2=cn”,a,b,x,y,c1,c2); return 0;3-6include stdio。hint main()char
10、 c1=c,c2=h,c3=i,c4=n,c5=a; c1=c1+4; c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4; printf(passwor is %cc%cc%cn”,c1,c2,c3,c4,c5); return 0;37#include int main() char c1,c2; /定义字符型变量 int i1,i2; /定义整型变量 printf(”请输入两个字符c1,c2:); scanf(”c,c”,c1,c2); i1=c1; /赋值给整型变量 i2=c2; printf(按字符输出结果:n); printf(%c,cn,i1,i2); prin
11、tf(”按整数输出结果:n”); printf(”%d,%dn,c1,c2); return 0;38-3#include int main() char c1,c2; /定义为字符型 int i1,i2; /定义为整型 printf(请输入两个整数i1,i2:”); scanf(”d,d”,i1,i2); c1=i1; /将整数赋值给字符变量 c2=i2; printf(按字符输出结果:n”); printf(%c,cn”,c1,c2); printf(”按整数输出结果:n); printf(”d,%dn”,c1,c2); return 0;38#include stdio。hint mai
12、n()char c1,c2;printf(请输入两个字符c1,c2:);c1=getchar();c2=getchar();printf(”用putchar语句输出结果为:”);putchar(c1);putchar(c2);printf(”n);printf(用printf语句输出结果为:”);printf(%c cn”,c1,c2);return 0;第4章选择结构程序设计【第111页】441include stdio.hint main() int a,b,c; printf(请输入三个整数:); scanf(d,%d,d”,a,b,c); if (ab) if (bc) printf(
13、max=dn”,c); else printf(max=%dn”,b); else if (ac) printf(max=dn”,c); else printf(max=%dn”,a); return 0;4-4-2include b)?a:b; /*将a和b中的大者存入temp中*/ max=(tempc)?temp:c; /将a和b中的大者与c比较,取最大者*/ printf(”三个整数的最大数是dn,max); return 0;4-5-2include stdio.h#include m) printf(”输入的数不符合要求,请重新输入一个小于d的整数i:”,m); scanf(”%d
14、”,&i); k=sqrt(i); printf(”d的平方根的整数部分是:dn,i,k); return 0;4-5include stdio.h#include #define m 1000int main() int i,k; printf(请输入一个小于d的整数i:”,m); scanf(”%d,&i); if (im) printf(”输入的数不符合要求,请重新输入一个小于%d的整数i:”,m); scanf(%d,i); k=sqrt(i); printf(”%d的平方根的整数部分是:%dn,i,k); return 0;46.include stdio.hint main() i
15、nt x,y; printf(”输入x:); scanf(”d,&x); if(x1) /* x1 / y=x; printf(”x=3d, y=x=dn ,x,y); else if(x10) /* 1=10 / y=3x-11; printf(”x=d, y=3*x-11=dn”,x,y); return 0;47-1include stdio。hint main() int x,y; printf(”enter x:); scanf(”d,x); y=-1; if(x!=0) if(x0) y=1; else y=0; printf(x=d,y=dn”,x,y); return 0;4-
16、7-2#include stdio.hint main() int x,y; printf(”please enter x:); scanf(”d”,&x); y=0; if(x=0) if(x0) y=1; else y=1; printf(”x=%d,y=%dn”,x,y); return 0;4-8include stdio。hint main() float score; char grade; printf(”请输入学生成绩:”); scanf(%f”,score); while (score100score0)printf(”n 输入有误,请重输”);scanf(”%f”,&sco
17、re); switch(int)(score/10)) case 10:case 9: grade=a;break;case 8: grade=b;break;case 7: grade=c;break;case 6: grade=d;break;case 5:case 4:case 3:case 2:case 1:case 0: grade=e; printf(成绩是 5.1f,相应的等级是cn ”,score,grade);return 0;4-9include stdio。h#include math。hint main() int num,indiv,ten,hundred,thous
18、and,ten_thousand,place; /分别代表个位,十位,百位,千位,万位和位数 printf(”请输入一个整数(099999):); scanf(”%d”,&num); if (num9999) place=5; else if (num999) place=4; else if (num99) place=3; else if (num9) place=2; else place=1; printf(”位数:%dn”,place); printf(”每位数字为:); ten_thousand=num/10000; thousand=(int)(num-ten_thousand1
19、0000)/1000; hundred=(int)(num-ten_thousand*10000thousand*1000)/100; ten=(int)(num-ten_thousand*10000-thousand1000hundred100)/10; indiv=(int)(numten_thousand*10000-thousand*1000hundred100-ten10); switch(place) case 5:printf(”d,%d,d,%d,d”,ten_thousand,thousand,hundred,ten,indiv); printf(n反序数字为:); prin
20、tf(”%ddd%d%dn,indiv,ten,hundred,thousand,ten_thousand); break; case 4:printf(d,d,%d,d,thousand,hundred,ten,indiv); printf(n反序数字为:”); printf(%ddd%dn,indiv,ten,hundred,thousand); break; case 3:printf(”%d,d,%d,hundred,ten,indiv); printf(n反序数字为:”); printf(”%d%d%dn”,indiv,ten,hundred); break; case 2:prin
21、tf(”d,d,ten,indiv); printf(”n反序数字为:); printf(”d%dn,indiv,ten); break; case 1:printf(d”,indiv); printf(”n反序数字为:”); printf(”%dn,indiv); break; return 0; 410-1#include stdio.hint main() int i; double bonus,bon1,bon2,bon4,bon6,bon10; bon1=*0.1; bon2=bon1+*0.075; bon4=bon2+*0。05; bon6=bon4+*0.03; bon10=b
22、on6+0。015; printf(请输入利润i:”); scanf(”%d,i); if (i=) bonus=i0.1; else if (i=) bonus=bon1+(i-)0。075; else if (iint main() int i; double bonus,bon1,bon2,bon4,bon6,bon10; int branch; bon1=0.1; bon2=bon1+*0。075; bon4=bon2+*0。05; bon6=bon4+0。03; bon10=bon6+*0.015; printf(请输入利润i:); scanf(”d”,i); branch=i/;
23、if (branch10) branch=10; switch(branch) case 0:bonus=i*0。1;break; case 1:bonus=bon1+(i-)*0。075;break; case 2: case 3: bonus=bon2+(i)*0.05;break; case 4: case 5: bonus=bon4+(i-)0。03;break; case 6: case 7: case 8: case 9: bonus=bon6+(i-)*0。015;break; case 10: bonus=bon10+(i)*0。01; printf(”奖金是 %10.2fn”
24、,bonus); return 0; 411include int main() int t,a,b,c,d; printf(”请输入四个数:”); scanf(”%d,%d,%d,%d,&a,b,&c,d); printf(a=d,b=d,c=%d,d=%dn,a,b,c,d); if (ab) t=a;a=b;b=t; if (ac) t=a;a=c;c=t; if (ad) t=a;a=d;d=t; if (bc) t=b;b=c;c=t; if (bd) t=b;b=d;d=t; if (cd) t=c;c=d;d=t; printf(”排序结果如下: n”); printf(d d
25、d d n” ,a,b,c,d); return 0; 412include int main() int h=10; float x1=2,y1=2,x2=-2,y2=2,x3=2,y3=2,x4=2,y4=2,x,y,d1,d2,d3,d4; printf(请输入一个点(x,y):); scanf(”f,%f,x,y); d1=(x-x4)(x-x4)+(y-y4)*(yy4); /*求该点到各中心点距离/ d2=(xx1)*(xx1)+(y-y1)(yy1); d3=(x-x2)(xx2)+(yy2)*(yy2); d4=(x-x3)*(x-x3)+(yy3)(y-y3); if (d1
26、1 & d21 & d31 & d41) h=0; /判断该点是否在塔外*/ printf(”该点高度为 %dn”,h); return 0; 第5章循环结构程序设计【第140页】52#include include math。h / 程序中用到数学函数fabs,应包含头文件math.nint main() int sign=1,count=0; / sign用来表示数值的符号,count用来统计循环次数 double pi=0.0,n=1.0,term=1。0; / pi开始代表多项式的值,最后代表的值, n代表分母,term代表当前项的值 while(fabs(term)=1e-8) /
27、检查当前项term的绝对值是否大于或等于10的(-6)次方 pi=pi+term; / 把当前项term累加到pi中 n=n+2; / n+2是下一项的分母 sign=sign; / sign代表符号,下一项的符号与上一项符号相反 term=sign/n; / 求出下一项的值term count+; / count累加1 pi=pi*4; / 多项式的和pi乘以4,才是的近似值 printf(pi=10.8fn”,pi); / 输出的近似值 printf(”count=dn,count); / 输出循环次数 return 0;53#include stdio。hint main() int p
28、,r,n,m,temp; printf(”请输入两个正整数n,m:); scanf(d,d,,n,m); if (nm) temp=n; n=m; m=temp; p=n*m; while(m!=0) r=nm; n=m; m=r; printf(”它们的最大公约数为:%dn,n); printf(它们的最小公约数为:%dn”,p/n); return 0; 5-4include stdio.hint main() char c; int letters=0,space=0,digit=0,other=0; printf(”请输入一行字符:n”); while(c=getchar())!=n)
29、 if (c=a c=z | c=a & c=z) letters+; else if (c= ) space+; else if (c=0 & c=9) digit+; else other+; printf(字母数:dn空格数:%dn数字数:%dn其它字符数:dn,letters,space,digit,other); return 0; 5-5#include int main() double s=0,t=1; int n; for (n=1;nint main() int n1=100,n2=50,n3=10; double k,s1=0,s2=0,s3=0; for (k=1;k=
30、n1;k+) /*计算1到100的和*/ s1=s1+k; for (k=1;k=n2;k+) /计算1到50各数的平方和*/ s2=s2+kk; for (k=1;k=n3;k+) /计算1到10的各倒数和/ s3=s3+1/k; printf(”sum=%15。6fn”,s1+s2+s3); return 0; 5-8#include stdio。hint main() int i,j,k,n; printf(parcissus numbers are ”); for (n=100;n1000;n+) i=n/100; j=n/10i10; k=n%10; if (n=iii + jj*j
31、 + k*kk) printf(”d ”,n); printf(”n”); return 0; 59-1define m 1000 /*定义寻找范围/#include int main() int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10; int i,a,n,s; for (a=2;a1) printf(”%d,d,k1,k2); /* n1表示a至少有2个因子 */ if (n2) printf(,d,k3); / n2表示至少有3个因子,故应再输出一个因子 / if (n3) printf(,d,k4); / n3表示至少有4个因子,故应再输出一个因子 / if (n
32、4) printf(,d,k5); / 以下类似 / if (n5) printf(”,%d”,k6); if (n6) printf(,d,k7); if (n7) printf(”,%d,k8); if (n8) printf(”,%d”,k9); if (n9) printf(”,%d”,k10); printf(”n); return 0; 5-92include stdio。hint main() int m,s,i; for (m=2;m1000;m+) s=0; for (i=1;im;i+) if ((mi)=0) s=s+i; if(s=m) printf(d,its fac
33、tors are ”,m); for (i=1;im;i+) if (mi=0) printf(”d ,i); printf(n); return 0; 5-10#include int main() int i,n=20; double a=2,b=1,s=0,t; for (i=1;i=n;i+) s=s+a/b; t=a, a=a+b, b=t; printf(sum=16。10fn”,s); return 0; 511#include stdio.h int main() double sn=100,hn=sn/2; int n; for (n=2;n=10;n+) sn=sn+2hn
34、; /*第n次落地时共经过的米数/ hn=hn/2; /*第n次反跳高度*/ printf(第10次落地时共经过f米n,sn); printf(”第10次反弹%f米n,hn); return 0; 512#include stdio。h int main() int day,x1,x2; day=9; x2=1; while(day0) x1=(x2+1)2; /第1天的桃子数是第2天桃子数加1后的2倍.*/ x2=x1; day; printf(”total=dn”,x1); return 0; 513include stdio.h include math。hint main() float a,x0,x1; printf(”enter a positive number:); scanf(%f”,&a); x0=a/2; x1=(x0+a/x0)/2; do x0=x1; x1=(x0+a/x0)/2; while(fabs(x0-x1)=1e5); printf(”the square root of %5。2f is 8.5fn,a,x1); return 0; 5-14#include stdio.h include math.hint main() double x1,x0,f,f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国建筑股份有限公司岗位招聘党建工作部(企业文化部)笔试题库历年考点版附带答案详解版
- 2025年数字金融行业数字货币与金融科技创新研究报告
- 2025年保险科技行业智能化产品创新研究报告
- 2025年全球新能源汽车市场竞争格局与趋势研究报告
- 2026中科信公司校园招聘笔试备考试题及答案解析
- 2025广东深圳市华一实验学校诚聘高中德育主任、教学主任笔试参考题库附答案解析
- 2025年妇产科常见疾病的处理技巧模拟考试卷答案及解析
- 校园应急救护安全培训课件
- 2026中信银行成都分行校园招聘笔试备考试题及答案解析
- 2025泰山财产保险股份有限公司江苏分公司社会招聘1人笔试模拟试题及答案解析
- 2025至2030年中国卡丁车俱乐部行业市场调研分析及投资战略咨询报告
- 教案2025秋形势与政策纪念抗战胜利坚定民族信念抗战胜利80周年
- 加油站职业健康危害因素分析
- 辽宁省沈阳市2025届高考语文模拟试卷(含答案)
- 公路统计管理办法
- 《智能建造概论》高职完整全套教学课件
- 危重症患者的疼痛管理
- 电力建设安全规程2025新版
- 2024年法考真题及答案解析
- 2025年苏州市中考数学试卷真题(含答案解析)
- 面向下一代互联网Web3.0可信数字身份基础设施白皮书(2024年)
评论
0/150
提交评论