《C语言程序设计》课后习题答案第四版谭浩强范文Word下载.docx
- 文档编号:18414069
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:146
- 大小:50.19KB
《C语言程序设计》课后习题答案第四版谭浩强范文Word下载.docx
《《C语言程序设计》课后习题答案第四版谭浩强范文Word下载.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》课后习题答案第四版谭浩强范文Word下载.docx(146页珍藏版)》请在冰豆网上搜索。
/存活期存款。
活期利息每一季度结算一次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方案得到的本息和return0;
3-2-2#include#includeintmain()doubler5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;
3-2-3#include#includeintmain()floatr5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;
活期利息每一季度结算一次printf(p1=%10.2fn,p1);
/输出按第1方案得到的本息和printf(p2=%10.2fn,p2);
/输出按第2方案得到的本息和printf(p3=%10.2fn,p3);
/输出按第3方案得到的本息和printf(p4=%10.2fn,p4);
/输出按第4方案得到的本息和printf(p5=%10.2fn,p5);
3-3.#include#includeintmain()floatd=,p=6000,r=0.01,m;
m=log10(p/(p-d*r)/log10(1+r);
printf(m=%6.2fn,m);
3-4#includeintmain()intc1,c2;
c1=197;
c2=198;
printf(c1=%c,c2=%cn,c1,c2);
printf(c1=%d,c2=%dn,c1,c2);
3-5#includeintmain()inta,b;
floatx,y;
charc1,c2;
scanf(a=%db=%d,&
b);
scanf(%f%e,&
x,&
y);
scanf(%c%c,&
c1,&
c2);
printf(a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%cn,a,b,x,y,c1,c2);
3-6#includeintmain()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%cn,c1,c2,c3,c4,c5);
3-7#includeintmain()floath,r,l,s,sq,vq,vz;
floatpi=3.;
printf(请输入圆半径r,圆柱高h);
scanf(%f,%f,&
r,&
h);
/要求输入圆半径r和圆柱高hl=2*pi*r;
/计算圆周长ls=r*r*pi;
/计算圆面积ssq=4*pi*r*r;
/计算圆球表面积sqvq=3.0/4.0*pi*r*r*r;
/计算圆球体积vqvz=pi*r*r*h;
/计算圆柱体积vzprintf(圆周长为:
l=%6.2fn,l);
printf(圆面积为:
s=%6.2fn,s);
printf(圆球表面积为:
sq=%6.2fn,sq);
printf(圆球体积为:
v=%6.2fn,vq);
printf(圆柱体积为:
vz=%6.2fn,vz);
3-8-1#includeintmain()intc1,c2;
/整型定义printf(请输入两个整数c1,c2:
);
scanf(%d,%d,&
printf(按字符输出结果:
printf(%c,%cn,c1,c2);
printf(按ASCII码输出结果为:
printf(%d,%dn,c1,c2);
3-8-2#includeintmain()charc1,c2;
/定义字符型变量inti1,i2;
/定义整型变量printf(请输入两个字符c1,c2:
scanf(%c,%c,&
i1=c1;
/赋值给整型变量i2=c2;
printf(%c,%cn,i1,i2);
printf(按整数输出结果:
3-8-3#includeintmain()charc1,c2;
/定义为字符型inti1,i2;
/定义为整型printf(请输入两个整数i1,i2:
i1,&
i2);
c1=i1;
/将整数赋值给字符变量c2=i2;
3-8#includeintmain()charc1,c2;
printf(请输入两个字符c1,c2:
c1=getchar();
c2=getchar();
printf(用putchar语句输出结果为:
putchar(c1);
putchar(c2);
printf(n);
printf(用printf语句输出结果为:
printf(%c%cn,c1,c2);
第4章选择结构程序设计854.1选择结构和条件判断854.2用if语句实现选择结构874.2.1用if语句处理选择结构举例874.2.2if语句的一般形式894.3关系运算符和关系表达式914.3.1关系运算符及其优先次序914.3.2关系表达式924.4逻辑运算符和逻辑表达式924.4.1逻辑运算符及其优先次序934.4.2逻辑表达式944.4.3逻辑型变量964.5条件运算符和条件表达式974.6选择结构的嵌套994.7用switch语句实现多分支选择结构1024.8选择结构程序综合举例105习题1114-4-1#includeintmain()inta,b,c;
printf(请输入三个整数:
if(ab)if(bc)printf(max=%dn,c);
elseprintf(max=%dn,b);
elseif(ac)printf(max=%dn,c);
elseprintf(max=%dn,a);
4-4-2#includeintmain()inta,b,c,temp,max;
temp=(ab)?
a:
b;
/*将a和b中的大者存入temp中*/max=(tempc)?
temp:
c;
/*将a和b中的大者与c比较,取最大者*/printf(三个整数的最大数是%dn,max);
4-5-2#include#include#defineM1000intmain()inti,k;
printf(请输入一个小于%d的整数i:
M);
scanf(%d,&
i);
while(iM)printf(输入的数不符合要求,请重新输入一个小于%d的整数i:
k=sqrt(i);
printf(%d的平方根的整数部分是:
%dn,i,k);
4-5#include#include#defineM1000intmain()inti,k;
if(iM)printf(输入的数不符合要求,请重新输入一个小于%d的整数i:
4-6.#includeintmain()intx,y;
printf(输入x:
x);
if(x1)/*x1*/y=x;
printf(x=%3d,y=x=%dn,x,y);
elseif(x10)/*1=x=10*/y=3*x-11;
printf(x=%d,y=3*x-11=%dn,x,y);
4-7-1#includeintmain()intx,y;
printf(enterx:
y=-1;
if(x!
=0)if(x0)y=1;
elsey=0;
printf(x=%d,y=%dn,x,y);
4-7-2#includeintmain()intx,y;
printf(pleaseenterx:
y=0;
if(x=0)if(x0)y=1;
elsey=-1;
4-8#includeintmain()floatscore;
chargrade;
printf(请输入学生成绩:
scanf(%f,&
score);
while(score100|score0)printf(n输入有误,请重输);
switch(int)(score/10)case10:
case9:
grade=A;
break;
case8:
grade=B;
case7:
grade=C;
case6:
grade=D;
case5:
case4:
case3:
case2:
case1:
case0:
grade=E;
printf(成绩是%5.1f,相应的等级是%cn,score,grade);
4-9#include#includeintmain()intnum,indiv,ten,hundred,thousand,ten_thousand,place;
/分别代表个位,十位,百位,千位,万位和位数printf(请输入一个整数(0-99999):
num);
if(num9999)place=5;
elseif(num999)place=4;
elseif(num99)place=3;
elseif(num9)place=2;
elseplace=1;
printf(位数:
%dn,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%dn,indiv,ten,hundred,thousand,ten_thousand);
printf(%d,%d,%d,%d,thousand,hundred,ten,indiv);
printf(%d%d%d%dn,indiv,ten,hundred,thousand);
printf(%d,%d,%d,hundred,ten,indiv);
printf(%d%d%dn,indiv,ten,hundred);
printf(%d,%d,ten,indiv);
printf(%d%dn,indiv,ten);
printf(%d,indiv);
printf(%dn,indiv);
4-10-1#includeintmain()inti;
doublebonus,bon1,bon2,bon4,bon6,bon10;
bon1=*0.1;
bon2=bon1+*0.075;
bon4=bon2+*0.05;
bon6=bon4+*0.03;
bon10=bon6+*0.015;
printf(请输入利润i:
if(i=)bonus=i*0.1;
elseif(i=)bonus=bon1+(i-)*0.075;
elseif(i=)bonus=bon2+(i-)*0.05;
elseif(i=)bonus=bon4+(i-)*0.03;
elseif(i=)bonus=bon6+(i-)*0.015;
elsebonus=bon10+(i-)*0.01;
printf(奖金是:
%10.2fn,bonus);
4-10-2#includeintmain()inti;
intbranch;
branch=i/;
if(branch10)branch=10;
switch(branch)case0:
bonus=i*0.1;
bonus=bon1+(i-)*0.075;
bonus=bon2+(i-)*0.05;
bonus=bon4+(i-)*0.03;
bonus=bon6+(i-)*0.015;
case10:
bonus=bon10+(i-)*0.01;
printf(奖金是%10.2fn,bonus);
4-11#includeintmain()intt,a,b,c,d;
printf(请输入四个数:
scanf(%d,%d,%d,%d,&
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;
if(bd)t=b;
b=d;
if(cd)t=c;
c=d;
printf(排序结果如下:
printf(%d%d%d%dn,a,b,c,d);
4-12#includeintmain()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):
d1=(x-x4)*(x-x4)+(y-y4)*(y-y4);
/*求该点到各中心点距离*/d2=(x-x1)*(x-x1)+(y-y1)*(y-y1);
d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);
d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);
if(d11&
d21&
d31&
d41)h=0;
/*判断该点是否在塔外*/printf(该点高度为%dn,h);
第5章循环结构程序设计1145.1为什么需要循环控制1145.2用while语句实现循环1155.3用dowhile语句实现循环1175.4用for语句实现循环1205.5循环的嵌套1245.6几种循环的比较1255.7改变循环执行的状态1255.7.1用break语句提前终止循环1265.7.2用continue语句提前结束本次循环1275.7.3break语句和continue语句的区别1285.8循环程序举例131习题1405-2#include#include/程序中用到数学函数fabs,应包含头文件math.nintmain()intsign=1,count=0;
/sign用来表示数值的符号,count用来统计循环次数doublepi=0.0,n=1.0,term=1.0;
/pi开始代表多项式的值,最后代表的值,n代表分母,term代表当前项的值while(fabs(term)=1e-8)/检查当前项term的绝对值是否大于或等于10的(-6)次方pi=pi+term;
/把当前项term累加到pi中n=n+2;
/n+2是下一项的分母sign=-sign;
/sign代表符号,下一项的符号与上一项符号相反term=sign/n;
/求出下一项的值termcount+;
/count累加1pi=pi*4;
/多项式的和pi乘以4,才是的近似值printf(pi=%10.8fn,pi);
/输出的近似值printf(count=%dn,count);
/输出循环次数return0;
5-3#includeintmain()intp,r,n,m,temp;
printf(请输入两个正整数n,m:
n,&
m);
if(nm)temp=n;
n=m;
m=temp;
p=n*m;
while(m!
=0)r=n%m;
m=r;
printf(它们的最大公约数为:
%dn,n);
printf(它们的最小公约数为:
%dn,p/n);
5-4#includeintmain()charc;
intletters=0,space=0,digit=0,other=0;
printf(请输入一行字符:
while(c=getchar()!
=n)if(c=a&
c=A&
c=0&
c=9)digit+;
elseother+;
printf(字母数:
%dn空格数:
%dn数字数:
%dn其它字符数:
%dn,letters,space,digit,other);
5-5#includeintmain()inta,n,i=1,sn=0,tn=0;
printf(a,n=:
sca
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 课后 习题 答案 第四 版谭浩强 范文
![提示](https://static.bdocx.com/images/bang_tan.gif)