C语言程序设计谭浩强第四版课后答案精讲.docx
- 文档编号:26334450
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:199
- 大小:47.09KB
C语言程序设计谭浩强第四版课后答案精讲.docx
《C语言程序设计谭浩强第四版课后答案精讲.docx》由会员分享,可在线阅读,更多相关《C语言程序设计谭浩强第四版课后答案精讲.docx(199页珍藏版)》请在冰豆网上搜索。
C语言程序设计谭浩强第四版课后答案精讲
第一章程序设计和C语言【第15页】
1-5
#include
intmain()
{printf("**************************\n\n");
printf("VeryGood!
\n\n");
printf("**************************\n");
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); //一次存 5年期 p2=p*(1+2*r2)*(1+3*r3); //先存2年期,到期后将本息再存 3年期 p3=p*(1+3*r3)*(1+2*r2); //先存3年期,到期后将本息再存 2年期 p4=p*pow(1+r1,5); //存1年期,到期后将本息存再存 1年期,连续存 5次 p5=p*pow(1+r0/4,4*5); //存活期存款。 活期利息每一季度结算一次 printf("p1=%f\n",p1); //输出按第 1方案得到的本息和 printf("p2=%f\n",p2); //输出按第 2方案得到的本息和 printf("p3=%f\n",p3); //输出按第 3方案得到的本息和 printf("p4=%f\n",p4); //输出按第 4方案得到的本息和 printf("p5=%f\n",p5); //输出按第 5方案得到的本息和 return0; } 3-2-2 #include #include intmain() {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); //一次存 5年期 p2=p*(1+2*r2)*(1+3*r3); //先存2年期,到期后将本息再存 3年期 p3=p*(1+3*r3)*(1+2*r2); //先存3年期,到期后将本息再存 2年期 p4=p*pow(1+r1,5); //存1年期,到期后将本息存再存 1年期,连续存 5次 p5=p*pow(1+r0/4,4*5); //存活期存款。 活期利息每一季度结算一次 printf("p1=%f\n",p1); //输出按第 1方案得到的本息和 printf("p2=%f\n",p2); //输出按第 2方案得到的本息和 printf("p3=%f\n",p3); //输出按第 3方案得到的本息和 printf("p4=%f\n",p4); //输出按第 4方案得到的本息和 printf("p5=%f\n",p5); //输出按第 5方案得到的本息和 return0; } 3-2-3 #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); //一次存5年期 p2=p*(1+2*r2)*(1+3*r3); //先存2年期,到期后将本息再存 3年期 p3=p*(1+3*r3)*(1+2*r2); //先存3年期,到期后将本息再存 2年期 p4=p*pow(1+r1,5); //存1年期,到期后将本息存再存 1年期,连续存 5次 p5=p*pow(1+r0/4,4*5); //存活期存款。 活期利息每一季度结算一次 printf("p1=%10.2f\n",p1); //输出按第1 方案得到的本息和 printf("p2=%10.2f\n",p2); //输出按第2 方案得到的本息和 printf("p3=%10.2f\n",p3); //输出按第3 方案得到的本息和 printf("p4=%10.2f\n",p4); //输出按第4 方案得到的本息和 printf("p5=%10.2f\n",p5); //输出按第5 方案得到的本息和 return0; } 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,c1=%c,c2=%c\n",a,b,x,y,c1,c2); return0; } 3-6 #include intmain() {charc1='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("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("请输入圆半径 scanf("%f,%f",&r,&h); l=2*pi*r; s=r*r*pi; sq=4*pi*r*r; vq=3.0/4.0*pi*r*r*r; vz=pi*r*r*h; r,圆柱高 h∶"); //要求输入圆半径 //计算圆周长l //计算圆面积s //计算圆球表面积 //计算圆球体积vq //计算圆柱体积vz r和圆柱高sq h printf("圆周长为: printf("圆面积为: printf("圆球表面积为 printf("圆球体积为: printf("圆柱体积为: return0; } 3-8-1 #include intmain() { : l=%6.2f\n",l); s=%6.2f\n",s); sq=%6.2f\n",sq); v=%6.2f\n",vq); vz=%6.2f\n",vz); 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 intmain() { 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=getchar(); c2=getchar(); c1,c2: "); 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; max=(temp>c)? temp: c; /*将a和 /*将a和 b中的大者存入temp中*/ 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 #defineM1000 intmain() { inti,k; printf("请输入一个小于%d的整数i: ",M); scanf("%d",&i); if(i>M) {printf("输入的数不符合要求,请重新输入一个小于 scanf("%d",&i); %d 的整数 i: ",M); } k=sqrt(i); printf("%d 的平方根的整数部分是: %d\n",i,k); return0; } 4-6. #include intmain() {intx,y; printf("输入x: "); scanf("%d",&x); if(x<1) /*x<1*/ {y=x; printf("x=%3d, y=x=%d\n",x,y); } elseif(x<10) /*1= {y=2*x-1; printf("x=%d, y=2*x-1=%d\n",x,y); } else/*x>=10*/ {y=3*x-11; printf("x=%d,y=3*x-11=%d\n",x,y); } return0; } 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;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 谭浩强 第四 课后 答案