C程序设计第四版谭浩强第四章课后习题答案Word文档格式.docx
- 文档编号:7459084
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:18
- 大小:18.66KB
C程序设计第四版谭浩强第四章课后习题答案Word文档格式.docx
《C程序设计第四版谭浩强第四章课后习题答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《C程序设计第四版谭浩强第四章课后习题答案Word文档格式.docx(18页珍藏版)》请在冰点文库上搜索。
intmain()//此程序代表按大小顺序输出.
floata,b,t;
%f%f"
b);
//出错时,注意检查这里是否按格式输入了.比如有个逗号.
if(a>
b)
t=a;
a=b;
b=t;
%5.2f,%5.2f\n"
a,b);
P0884.3三个数按大小输出.
floata,b,c,t;
%f%f%f"
b)//此处执行后,a为小者.
c)//此处执行后,a为小者.
a=c;
c=t;
if(b>
c)//上面已经搞定a是最小者,现在对比得出次小者,并且已经归到变量中.
t=b;
b=c;
%5.2f,%5.2f%5.2f\n"
a,b,c);
P0994.4判断输入字符,并最终按小写输出.
intmain()
charch;
%c"
ch);
ch=(ch>
='
A'
&
ch<
Z'
)?
(ch+32):
ch;
//条件运算符,真取前,假取后.
%c\n"
ch);
P1004.5按要求输出相应的Y值.
intx,y;
%d"
x);
if(x>
=0)
if(x>
0)//这个范围要基于x>
=0来判断.
{
y=1;
}
else
y=0;
else//这个是x<
0的范围.
y=-1;
x=%d,y=%d"
x,y);
P1024.6switch的简单应用.
chargrade;
grade);
Yourscore:
"
switch(grade)
case'
a'
:
printf("
85-100\n"
break;
//当多分支结构过于多时,可以用switch来解决.
b'
70-84\n"
c'
60-69\n"
d'
<
60\n"
default:
Enterdataerror!
\n"
P1044.7按输入执行操作,并且不分大小写.
voidaction1(intx,inty)
x+y=%d\n"
x+y);
voidaction2(intx,inty)
x*y=%d\n"
x*y);
inta=15,b=23;
ch=getchar();
switch(ch)
action1(a,b);
//a,A共用一个执行语句.
B'
action2(a,b);
putchar('
\a'
//'
可以控制电脑发出蜂鸣声.
P1064.8用if的分支来做闰年问题
intyear,leap;
Pleaseinputtheyear:
year);
if(year%4==0)//400年里,在100个可除尽4的年里计算,以下是在全范围内计算.
{
if(year%100==0)//既是100个内的,又是可以除尽100的,算是且.
if(year%400==0)//相当于且了两次,只余下唯一一个.
{
leap=1;
}
else//400年里只有1个除得尽,其它都不是.
leap=0;
else//这里的范围是(year%4==0)&
(year%100!
=0)
leap=1;
//在合法的100内,又不是2100,2200一类的,当然属闰年.
leap=0;
if(leap)
%dis"
year);
%disnot"
aleapyear!
//不管上面如何判断,最后还是会输出这一句.
P1084.9一元二次等式的全计算过程.
doublea,b,c,disc,x1,x2,realpart,imagpart;
Theequation"
if(fabs(a)<
=1e-6)//fabs是绝对值,le-6,即是的负六次方,接近或是等于零.
isnotaquadratic!
x1=x2=%lf"
-c/b);
disc=b*b-4*a*c;
if(fabs(disc)<
=1e-6)//指数形式,数字1.
printf("
hastwoequalroots:
%lf\n"
-b/(2*a));
if(disc>
1e-6)
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("
hasdistinctrealroots:
%lfand%lf\n"
else
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
hascomplexroots:
\n"
%lf+%lfi\n"
realpart,imagpart);
P1094.10关于多个区间的计算,运费问题为例.
doublep,w,s,d,f;
p,w,s\n"
p,&
w,&
s);
if(s<
250)
d=0.0;
f=p*w*s*(1-d);
%lf"
f);
elseif(s<
500)
d=0.02;
1000)
d=0.05;
2000)
d=0.08;
3000)
d=0.1;
d=0.15;
P01120.4键盘输入三个数,输出最大者.
intmina,mida,maxa;
intmax(inta,intb,intc)
intm;
b)//凡是比较中,大于号代表升序排列.
m=a;
b=m;
c)
c=m;
return(c);
//此排序后,a,b,c由小到大.所以c是返回中最大的.
inta,b,c;
Pleaseinput3numbers:
%d%d%d"
Themaxis%d!
max(a,b,c));
}
P01120.5一个小于1000的数,有判定条件.
doublea,b;
Pleaseinputanumber:
a);
if(a<
b=sqrt(a);
\a"
//控制蜂鸣声
Pleaseinputanumberagain:
scanf("
11
%.0lf"
b);
//按要求,只取整数.
P01120.9一个不多于5位的数,按条件输出.
inti,a,b[4],count=0;
Pleaseinputanumber(five-digitnumber):
//意思是五位数以内.
for(i=0;
i<
=4;
i++)
b[i]=a%10;
//是%10,不是/10000,结果就是b[0]至b[4]中存着个,十,百,千,万位.
a=a/10;
///10后得到的结果去掉了个数.
if(b[i]!
count=count+1;
%d位数.\n"
count);
分别输出每一位数字,如下:
for(i=4;
i>
=0;
i--)
%d"
b[i]);
倒序输出这一个数字,如下:
P01120.10按要求提成奖金(if写法).
Pleaseinputprofitamount:
=10)//这个是整个if的基础.
b=a*0.1;
elseif(a<
=20)//以上面为基础,这已经代表了10-20间了!
!
b=1+(a-10)*0.075;
=40)//同理,这是20-40间.
b=1+0.75+(a-20)*0.05;
=60)
b=1+0.75+0.1+(a-40)*0.03;
=100)
b=1+0.75+0.1+0.06+(a-60)*0.15;
else//这里是大于100的.
b=1+0.75+0.1+0.06+(a-100)*0.01;
Therewardis%lf!
P01120.10按要求提成奖金(switch写法).
doubleGetProfit(doublec)
//返回本身了,如果有进一步的计算结果,将值赋给其它变量,也可以返回.
doublea;
charc;
Yourchoice:
\nA:
0-10;
\nB:
10-20;
\nC:
20-40;
\nD:
40-60;
\nE:
60-100;
\nF:
100-1000;
//不同档时,应照档的规定数值进行输入,否则结果不会是正确的.
switch(c)//前三后三用于比较调用函数.
{//GetProfit(c)引入的实参没有意义,返回值和引入的实参没关系,反而由键盘获得.
{printf("
GetProfit(c)*0.1);
};
//0-100.100
1+(GetProfit(c)-10)*0.075);
}break;
//10-200.075
C'
1+0.75+(GetProfit(c)-20)*0.05);
//20-400.050
D'
{printf("
scanf("
1+0.75+0.1+(a-40)*0.03);
//40-600.030
E'
1+0.75+0.1+0.6+(a-60)*0.15);
//60-1000.015
F'
1+0.75+0.1+0.6+0.6+(a-100)*0.01);
//100-10000.010
Errordata!
//可以有一个执行体,用{}包括起来.
P01120.11键盘输入数值,然后排序输出.
inta[10],i,j,m,n;
//变量可以在写代码过程中再回来临时添加.
请输入数值的个数:
(十个以内)"
m);
//到这里需要变量来承载数值的个数,设m,回头去定义变量那写上m.
请分别输入相对应个数的数值:
m;
a[i]);
for(j=i+1;
j<
j++)
if(a[i]>
a[j])//这是选择排序法.升序.
{
n=a[i];
//这里需要一个用于临时变量的n,所以回头去写上.
a[i]=a[j];
a[j]=n;
a[i]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 第四 版谭浩强 课后 习题 答案