C语言程序设计谭浩强第四版课后答案.docx
- 文档编号:25734776
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:67
- 大小:30.80KB
C语言程序设计谭浩强第四版课后答案.docx
《C语言程序设计谭浩强第四版课后答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计谭浩强第四版课后答案.docx(67页珍藏版)》请在冰豆网上搜索。
C语言程序设计谭浩强第四版课后答案
第15页】
第一章程序设计和C语言
1-5
#include
printf(
**\n\n");
printf("VeryGood!
\n\n");
**\n");
printf(
return0;
1-6
#include
intmain()
{inta,b,c,max;printf("pleaseinputa,b,c:
\n");scanf("%d,%d,%d",&a,&b,&c);
max=a;
if(max
max=b;
if(max max=c; printf("Thelargestnumberis%d\n",max); return0; } 第2章算法——程序的灵魂【第36页】暂无答案 第3章最简单的C程序设计——顺序程序设计【第82页】 3-1 #include #include intmain() {floatp,r,n; r=0.1; n=10; p=pow(1+r,n);printf("p=%f\n",p); return0; } 3-2-1 #include #include intmain() {floatr5,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); p2=p*(1+2*r2)*(1+3*r3); p3=p*(1+3*r3)*(1+2*r2); //一次存5年期 //先存2年期,到期后将本息再存3年期 //先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); //存1年期,到期后将本息存再存 1年期,连续存5次 p5=p*pow(1+r0/4,4*5); //存活期存款。 活期利息每一季度结算一次 printf("p1=%f\n",p1); printf("p2=%f\n",p2); printf("p3=%f\n",p3); printf("p4=%f\n",p4); printf("p5=%f\n",p5);return0; } //输出按第1方案得到的本息和//输出按第2方案得到的本息和//输出按第3方案得到的本息和//输出按第4方案得到的本息和//输出按第5方案得到的本息和 3-2-2 #include #include {doubler5,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); p2=p*(1+2*r2)*(1+3*r3);p3=p*(1+3*r3)*(1+2*r2);p4=p*pow(1+r1,5);p5=p*pow(1+r0/4,4*5); //一次存5年期 //先存2年期,到期后将本息再存 //先存3年期,到期后将本息再存 //存1年期,到期后将本息存再存 3年期 2年期 1年期,连续存5次 //存活期存款。 活期利息每一季度结算一次 printf("p1=%f\n",p1); //输出按第1方案得到的本息和 printf("p2=%f\n",p2); printf("p3=%f\n",p3);printf("p4=%f\n",p4);printf("p5=%f\n",p5);return0; } 3-2-3 //输出按第2方案得到的本息和//输出按第3方案得到的本息和//输出按第4方案得到的本息和//输出按第5方案得到的本息和 #include #include intmain() {floatr5,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);p2=p*(1+2*r2)*(1+3*r3);p3=p*(1+3*r3)*(1+2*r2);p4=p*pow(1+r1,5);p5=p*pow(1+r0/4,4*5); //一次存5年期 //先存2年期,到期后将本息再存3年期 //先存3年期,到期后将本息再存2年期 //存1年期,到期后将本息存再存 1年期,连续存5次 //存活期存款。 活期利息每一季度结算一次 printf("p1=%10.2f\n",p1); printf("p2=%10.2f\n",p2); printf("p3=%10.2f\n",p3); printf("p4=%10.2f\n",p4); printf("p5=%10.2f\n",p5);return0; } //输出按第1方案得到的本息和//输出按第2方案得到的本息和//输出按第3方案得到的本息和//输出按第4方案得到的本息和//输出按第5方案得到的本息和 3-3. #include #include intmain() {floatd=300000,p=6000,r=0.01,m;m=log10(p/(p-d*r))/log10(1+r);printf("m=%6.2f\n",m); return0; } 3-4 #include intmain() {intc1,c2; c1=197; c2=198; printf("c1=%c,c2=%c\n",c1,c2); printf("c1=%d,c2=%d\n",c1,c2);return0; } 3-5 #include intmain() {inta,b; floatx,y; charc1,c2; scanf("a=%db=%d",&a,&b); scanf("%f%e",&x,&y); scanf("%c%c",&c1,&c2); printf("a=%d,b=%d,x=%f,y=%f,c^%c,c2=%c\n",a,b,x,y,c1,c2);return0; } 3-6 #include intmain() {charc仁C,c2='h',c3='i',c4='n',c5='a'; c仁c1+4; c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4; printf("passworis%c%c%c%c%c\n",c1,c2,c3,c4,c5); return0; }3-7 #include intmain() {floath,r,l,s,sq,vq,vz; floatpi=3.141526; printf("请输入圆半径 r,圆柱高h: 〞); scanf("%f,%f",&r,&h); //要求输入圆半径 l=2*pi*r; //计算圆周长l s=r*r*pi; //计算圆面积s sq=4*pi*r*r; //计算圆球外表积 vq=3.0/4.0*pi*r*r*r; //计算圆球体积vq vz=pi*r*r*h; //计算圆柱体积vz printf("圆周长为: l=%6.2f\n",l); printf("圆面积为: s=%6.2f\n",s); printf("圆球外表积为 : sq=%6.2f\n",sq); printf("圆球体积为: v=%6.2f\n",vq); printf("圆柱体积为: vz=%6.2f\n",vz); return0; } r和圆柱高h sq 3-8-1 #include intmain() { intc1,c2;//整型定义 printf("请输入两个整数c1,c2: ");scanf("%d,%d",&c1,&c2); printf("按字符输出结果: \n"); printf("%c,%c\n",c1,c2); printf("按ASCII码输出结果为: \n"); printf("%d,%d\n",c1,c2); return0; } 3-8-2 #include { //定义字符型变量 //定义整型变量 //赋值给整型变量 charc1,c2; inti1,i2; printf("请输入两个字符c1,c2: "); scanf("%c,%c",&c1,&c2); i1=c1; i2=c2; printf("按字符输出结果: \n");printf("%c,%c\n",i1,i2); printf("按整数输出结果: \n");printf("%d,%d\n",c1,c2); return0; } 3-8-3 #include intmain() { //定义为字符型 //定义为整型 //将整数赋值给字符变量 charc1,c2; inti1,i2; printf("请输入两个整数i1,i2: "); scanf("%d,%d",&i1,&i2); c1=i1; c2=i2; printf("按字符输出结果: \n");printf("%c,%c\n",c1,c2); printf("按整数输出结果: \n");printf("%d,%d\n",c1,c2); return0; } 3-8 #include intmain() { charc1,c2; printf("请输入两个字符c1,c2: "); c1=getchar(); c2=getchar(); printf("用putchar语句输出结果为: "); putchar(c1); putchar(c2); printf("\n"); printf("用printf语句输出结果为: "); printf("%c%c\n",c1,c2); return0; } 第4章选择结构程序设计【第111页】 4-4-1 #include intmain() { inta,b,c; printf("请输入三个整数: "); scanf("%d,%d,%d",&a,&b,&c); if(a if(b printf("max=%d\n",c); else printf("max=%d\n",b); elseif(a printf("max=%d\n",c); else printf("max=%d\n",a); return0; } 4-4-2 #include intmain() {inta,b,c,temp,max; printf("请输入三个整数: "); scanf("%d,%d,%d",&a,&b,&c); temp=(a>b)? a: b;/*将a和b中的大者存入temp中*/max=(temp>c)? temp: c;/*将a和b中的大者与c比拟,取最大者*/printf("三个整数的最大数是%d\n",max); return0; } 4-5-2 #include #include #defineM1000 intmain() { inti,k; printf("请输入一个小于%d的整数i: ",M); scanf("%d",&i); while(i>M) {printf("输入的数不符合要求,请重新输入一个小于%d的整数i: ",M); scanf("%d",&i); } k=sqrt(i); printf("%d的平方根的整数局部是: %d\n",i,k);return0; } 4-5 #include #include #defineM1000intmain(){ inti,k; printf("请输入一个小于%d的整数i: ",M);scanf("%d",&i); if(i>M) {printf("输入的数不符合要求,请重新输入一个小于%d的整数i: ",M);scanf("%d",&i); } k=sqrt(i); printf("%d的平方根的整数局部是: %d\n",i,k);return0; } 4-6. #include intmain() {intx,y; printf("输入x: ");scanf("%d",&x);if(x<1) {y=x;printf("x=%3d,} elseif(x<10) {y=2*x-1;printf("x=%d, } else {y=3*x-11;printf("x=%d, } return0; /*x<1*/ y=x=%d\n",x,y); /*1= y=2*x-1=%d\n",x,y); /*x>=10*/ y=3*x-11=%d\n",x,y); 4-7-1 #include intmain() { intx,y; printf("enterx: "); scanf("%d",&x); y=-1; if(x! =0) if(x>0) y=1; else y=0; printf("x=%d,y=%d\n",x,y); return0; } 4-7-2 #include intmain() { intx,y; printf("pleaseenterx: "); scanf("%d",&x); y=0; if(x>=0) if(x>0)y=1; elsey=-1; printf("x=%d,y=%d\n",x,y); return0; } 4-8 #include intmain() {floatscore; chargrade; printf("请输入学生成绩: ");scanf("%f",&score); while(score>100||score<0) {printf("\n输入有误,请重输");scanf("%f",&score); }switch((int)(score/10)) {case10: case9: grade='A';break; case8: grade='B';break; case7: grade='C';break; case6: grade='D';break; case5: case4: case3: case2: case1: case0: grade='E'; } printf("成绩是%5.1f,相应的等级是%c\n",score,grade);return0; } 4-9 #include #include intmain() { intnum,indiv,ten,hundred,thousand,ten_thousand,place;//分别代表个位,十位,百位,千位,万位和位数 printf("请输入一个整数(0-99999): ");scanf("%d",&num); if(num>9999) place=5; elseif(num>999) place=4; elseif(num>99) place=3; elseif(num>9) place=2; elseplace=1; printf("位数: %d\n",place); printf("每位数字为: ");ten_thousand=num/10000;thousand=(int)(num-ten_thousand*10000)/1000;hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);switch(place) {case5: printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);printf("\n反序数字为: ");printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);break; case4: printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);printf("\n反序数字为: ");printf("%d%d%d%d\n",indiv,ten,hundred,thousand);break; case3: printf("%d,%d,%d",hundred,ten,indiv);printf("\n反序数字为: ");printf("%d%d%d\n",indiv,ten,hundred);break; case2: printf("%d,%d",ten,indiv);printf("\n反序数字为: ");printf("%d%d\n",indiv,ten);break; case1: printf("%d",indiv);printf("\n反序数字为: ");printf("%d\n",indiv);break; } return0; } 4-10-1 #include intmain() { inti; doublebonus,bon1,bon2,bon4,bon6,bon10;bon1=100000*0.1; bon2=bon1+100000*0.075;bon4=bon2+100000*0.05; bon6=bon4+100000*0.03;bon10=bon6+400000*0.015; printf("请输入利润i: "); scanf("%d",&i); if(i<=100000) bonus=i*0.1; elseif(i<=200000) bonus=bon1+(i-100000)*0.075; elseif(i<=400000) bonus=bon2+(i-200000)*0.05; elseif(i<=600000) bonus=bon4+(i-400000)*0.03; elseif(i<=1000000) bonus=bon6+(i-600000)*0.015; else bonus=bon10+(i-1000000)*0.01; printf("奖金是: %10.2f\n",bonus); return0; } 4-10-2 #include intmain() { inti; doublebonus,bon1,bon2,bon4,bon6,bon10; intbranch; bon1=100000*0.1; bon2=bon1+100000*0.075; bon4=bon2+200000*0.05; bon6=bon4+200000*0.03; bon10=bon6+400000*0.015; printf("请输入利润i: "); scanf("%d",&i); branch=i/100000; if(branch>10)branch=10; switch(branch) {case0: bonus=i*0.1;break; case1: bonus=bon1+(i-100000)*0.075;break; case2: case3: bonus=bon2+(i-200000)*0.05;break; case4: case5: bonus=bon4+(i-400000)*0.03;break; case6: case7: case8: case9: bonus=bon6+(i-600000)*0.015;break; case10: bonus=bon10+(i-1000000)*0.01; } printf("奖金是%10.2f\n",bonus); return0; 4-11 #include intmain() {intt,a,b,c,d; printf("请输入四个数: "); scanf("%d,%d,%d,%d",&a,&b,&c,&d); printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d); if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(a>d) {t=a;a=d;d=t;} if(b>c) {t=b;b=c;c=t;} if(b>d) {t=b;b=d;d=t;} if(c>d) {t=c;c=d;d=t;} printf("排序结果如下: \n"); printf("%d%d%d%d\n",a,b,c,d); return0; } 4-12 #include intmain() { inth=10; floatx1=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)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 谭浩强 第四 课后 答案