c语言程序设计教程第二版课后答案.docx
《c语言程序设计教程第二版课后答案.docx》由会员分享,可在线阅读,更多相关《c语言程序设计教程第二版课后答案.docx(15页珍藏版)》请在冰点文库上搜索。
c语言程序设计教程第二版课后答案
c语言程序设计教程第二版课后答案
【篇一:
c语言程序设计(第2版)--课后题答案】
p>参考答案
第1章进入c语言程序世界
1.ilovechina!
printf(wearestudents.\n)
2.6项目实训题参考答案
1.编写一个c程序,输出以下信息:
iamastudent!
********************main()
**\n);
{printf(******************
printf(iamastudent!
\n);
序,求立方体体积。
解:
main()
{
inta,b,c,v;
a=10;
b=20;
c=15;
v=a*b*c;
printf(v=%d,v);
}
本程序运行结果为
v=3000
第2章编制c程序的基础知识一选择题
cbabacc
二操作题,2,-8,2
3.000000,2.500000,-8.000000
2.abcdefghwhyis21+35equal52
3.
3
4
2
1
4.aa
a
项目实训题
1.定义一个符号常量m为5和一个变量n值为2,把它们的乘积输出。
#definem5
main()
{intn,c;
n=2;c=m*n;printf(%d\n,c);}
2.编程求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;
(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。
(1)main()
{inta=7;
floatx=2.5,y=4.7;
printf(%f\n,x+a%3*(int)(x+y)%2/4);}
(2)main()
{inta=2,b=3;
floatx=3.5,y=2.5;
printf(%f\n,(float)(a+b)/2+(int)x%(int)y);}
第三章顺序结构程序设计
一选择题acdcc二操作题
1.x=3,a=2,b=3
2.z=12.700000
21332bbccabcn
3.121
a
212三.编程题编程题解:
#includestdio.hmain()
{
floatsj,gz,yfgz;printf(time,salary:
);scanf(%f,%f,sj,gz);
yfgz=sj*gz*0.9;
printf(totalsalary:
%f\n,yfgz);
}本程序运行结果为:
time,salary:
4,3crtotalsalary:
10.800000
2.编写一个程序求出任意一个输入字符的ascii码
解:
#includestdio.hmain()
{
charc;printf(inputastring:
);
scanf(%c,c);
printf(%casciiis%d\n,c,c);
}
本程序运行结果为:
inputastring:
acraasciiis97
3
2.50元,
要求输入各类
、编写一个程序用于水果店售货员算帐:
已知苹果每斤鸭梨每斤1.80元,香蕉每斤2元,橘子每斤1.6元,水果的重量,打印出应付
3解:
main(){floatp,y,x,j,ys,g,fk;printf(apple,pear,banana,orange(weight)=);
scanf(%f,%f,%f,%f,p,y,x,j);ys=2.5*p+1.8*y+2*x+1.6*j;printf(fukuan=);
scanf(%f,g);fk=g-ys;
printf(result:
\n);
printf(fukuan=%6.2fyuan\nshoukuan=%6.2fyuan\nzhaohui=%6.2fyuan\n,g,ys,fk);
}本程序运行结果为:
apple,pear,banana,orange(weight)=1,2,3,4fukuan=100
result:
fukuan=100.00yuanshoukuan=18.50yuanzhaohui=81.50yuan项目实训
1.假设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后可得到本利之和deposit。
#includemath.h
main()
{intn;
floatrate=0.0225,capital,deposit;scanf(%d,%f,n,capital);deposit=capital*pow(1+rate,n);printf(deposit=%f\n,deposit);}
2.将一个三位数整数,正确分离出它的个位、十位和百位数字,并分别在屏幕上输出。
main(){intn,a,b,c;scanf(%3d,n);
a=n/100;
4b=n%100/10;c=n%100%10/1;
printf(a=%d,b=%d,c=%d\n,a,b,c);}第四章选择结构程序设计
一、略
二、bbabcba
三、1.10
2.2322
3.10200
4.ch='a'ch='z'||ch='a'ch='z'ch='0'ch='9'
ch==''
5.-1
四、上机操作
1.从键盘输入一个英文字母,如果是大写字母,则将它变为小写字母输出;如果是小写字母,则将其变为大写字母输出。
#includestdio.hmain()
{charch;ch=getchar();
if(ch=ach=z)ch+=32;
elseif(ch=ach=z)ch-=32;putchar(ch);
putchar(\n);}
2.根据输入的x值依据下列表达式,计算y的值。
4+x(x-1)解:
main()
{
floatx,y;scanf(%f,x);
5
【篇二:
《c语言程序设计教程(第二版)》习题答案】
txt>一、单项选择题(第23页)
1-4.cbbc5-8.daca二、填空题(第24页)
1.判断条件2.面向过程编程3.结构化4.程序5.面向对象的程序设计语言7.有穷性8.直到型循环9.算法10.可读性11.模块化12.对问题的分析和模块的划分
三、应用题(第24页)
2.源程序:
main()
{inti,j,k;/*i:
公鸡数,j:
母鸡数,k:
小鸡数的1/3*/printf(cockhenchick\n);
for(i=1;i=20;i++)for(j=1;j=33;j++)for(k=1;k=33;k++)
if(i+j+k*3==100i*5+j*3+k==100)printf(%d%d%d\n,i,j,k*3);}执行结果:
cockhenchick
41878
81181
12484
3.现计算斐波那契数列的前20项。
递推法源程序:
main()
{longa,b;inti;
a=b=1;
for(i=1;i=10;i++)/*要计算前30项,把10改为15。
*/{printf(%8ld%8ld,a,b);
a=a+b;b=b+a;}}递归法源程序:
main()
{inti;for(i=0;i=19;i++)printf(%8d,fib(i));}fib(inti)
{return(i=1?
1:
fib(i-1)+fib(i-2));}执行结果:
11235813213455
891442333776109871597258441816765
4.源程序:
#includemath.h;
main(){doublex,x0,deltax;do{x0=pow(x+1,1./3);deltax=fabs(x0-x);
x=x0;}while(deltax1e-12);
printf(%.10f\n,x);}
执行结果:
1.3247179572
5.源程序略。
(分子、分母均构成斐波那契数列)结果是32.66026079864
6.源程序:
main()
{inta,b,c,m;printf(pleaseinputa,bandc:
);
scanf(%d%d%d,a,b,c);if(ab){m=a;a=b;b=m;}if(ac){m=a;a=c;c=m;}if(bc){m=b;b=c;c=m;}printf(%d%d%d\n,a,b,c);}执行结果:
pleaseinputa,bandc:
123456789
789456123
7.源程序:
main(){inta;
scanf(%d,a);printf(a%21==0?
yes:
no);}执行结果:
42yes
3第2章c语言概述
一、单项选择题(第34页)1-4.bdcb5-8.aabc(第35页)
1.主2.c编译系统3.函数函数4.输入输出5.头6..obj7.库函数8.文本
三、应用题(第36页)
5.sizeof是关键字,stru、_aoto、file、m_i_n、hello、abc、sin90、x1234、until、cos2x、s_3是标识符。
8.源程序:
{inta,b,c;scanf(%d%d,a,b);c=a;a=b;b=c;
printf(%d%d,a,b);}
执行结果:
1234
3412
4第3章数据类型与运算规则
一、单项选择题(第75页)
1-5.dbacc6-10.dbdbc11-15.adccc16-20.cbccd21-25.addbc
26-27.ab
二、填空题(第77页)
8.65,89
三、应用题(第78页)
1.109
2.执行结果:
11
12
1
5第4章顺序结构程序设计
一、单项选择题(第90页)
1-5.dcdad6-10.bacbb
二、填空题(第91页)
1.一;2.5.1690003.
(1)-2002500
(2)i=-200,j=2500(3)i=-200j=25004.a=98,b=765.000000,c=4321.0000005.略6.0,0,37.38.scanf(%lf%lf%lf,a,b,c);9.1313.000000,13.000000
10.a=aAc;c=cAa;a=aAc;(这种算法不破坏b的值,也不用定义中间
变量。
)
三、编程题(第92页)
1.仿照教材第27页例2-1。
2.源程序:
main()
scanf(%d:
%d,h,m);
printf(%d\n,h*60+m);}
执行结果:
9:
23
563
3.源程序:
main()
{inta[]={-10,0,15,34},i;
for(i=0;i=3;i++)
printf(%d\370c=%g\370f\t,a[i],a[i]*1.8+32);}
雪3>>-
main。
宀doubCDp"3・14」59265358979p「inff(「H%-gaH%・10-fSHW一o-f\nr2*p^prpis」
雪m>>-
亍5aH31.4」59265359SH49.3480220054
5•爺昭弔一
=ttinc-udemafh.m
main。
宀doub-eabpscanf(%-f%-f%-fQ)bc)八if(a+bca+cbb+ca)宀doub-eSH(a+b+c)/2prinff(SSH%」o-f\psqrt(s*(s—a)*(s—br(s—c)))」
e-sep「inff(dafaeiror一)」雪m>>-
456
SSH9.9215674165
s^^^i
main。
宀infaH3bH4oH5ioafdA2eH2.237r—43.56八prinff(aH%3abH%—4doH$%2ndH%9neH%6.2f\n7r%—
10•4f*,n0)bcCLef}」
7•爺昭弔-
main。
宀infabcm
scanf(%d%d%dQ)bc=
mHaaHb-bHCoHm-
p「inff(%d%d%dvlQ)bc)」
雪m>>-
567
675
8•爺昭弔-
main。
宀infabp
scanf(%d%d%dQ)bc=p「inff(ave「ageof%d・%dand%dis%.2f\n0)bc・(a+b+c)/3)
4r>>-
679
averageof6,7and9is7.33
9.不能。
修改后的源程序如下:
main()
{inta,b,c,x,y;scanf(%d%d%d,a,b,c);x=a*b;y=x*c;
printf(a=%d,b=%d,c=%d\n,a,b,c);printf(x=%d,y=%d\n,x,y);}
6第5章选择结构程序设计一、单项选择题(第113页)1-4.dcbb5-8.dabd
二、填空题(第115页)
1.非002.k==0
3.if(abs(x)4)printf(%d,x);elseprintf(error!
);4.if((x=1x=10||x=200x=210)x1)printf(%d,x);
5.k=1(原题最后一行漏了个d,如果认为原题正确,则输出k=%。
)
6.8!
right!
117.$$$a=08.a=2,b=1
三、编程题(第116页)
1.有错。
正确的程序如下:
main()
{inta,b,c;scanf(%d,%d,%d,a,b,c);
printf(min=%d\n,ab?
bc?
c:
b:
ac?
c:
a);}
2.源程序:
main(){unsignedlonga;scanf(%ld,a);
for(;a;printf(%d,a%10),a/=10);}执行结果:
12345
54321
3.
(1)源程序:
【篇三:
c语言程序设计现代方法(第二版)习题答案】
answerstoselectedexercises
2.[was#2](a)theprogramcontainsonedirective(#include)andfourstatements(threecallsofprintfandonereturn).
(b)
parkinsonslaw:
workexpandssoastofillthetimeavailableforitscompletion.
3.[was#4]#includestdio.hintmain(void){intheight=8,length=12,width=10,volume;volume=height*length*width;
printf(dimensions:
%dx%dx%d\n,length,width,height);printf(volume(cubicinches):
%d\n,volume);
printf(dimensionalweight(pounds):
%d\n,(volume+165)/166);
return0;
}
4.[was#6]heresonepossibleprogram:
#includestdio.hintmain(void){inti,j,k;
floatx,y,z;printf(valueofi:
%d\n,i);printf(valueofj:
%d\n,j);printf(valueofk:
%d\n,k);printf(valueofx:
%g\n,x);printf(valueofy:
%g\n,y);printf(valueofz:
%g\n,z);
return0;
}
whencompiledusinggccandthenexecuted,thisprogramproducedthefollowingoutput:
valueofi:
5618848valueofj:
0valueofk:
6844404valueofx:
3.98979e-34valueofy:
9.59105e-39valueofz:
9.59105e-39thevaluesprinteddependonmanyfactors,sothechancethatyoullgetexactlythesenumbersissmall.
5.[was#10](a)isnotlegalbecause100_bottlesbeginswithadigit.
8.[was#12]thereare14tokens:
a,=,(,3,*,q,-,p,*,p,),/,3,and;.
answerstoselectedprogrammingprojects
4.[was#8;modified]#includestdio.h
intmain(void)
{
floatoriginal_amount,amount_with_tax;printf(enteranamount:
);
scanf(%f,original_amount);
amount_with_tax=original_amount*1.05f;printf(withtaxadded:
$%.2f\n,amount_with_tax);return0;
theamount_with_taxvariableisunnecessary.ifweremoveit,theprogramisslightlyshorter:
#includestdio.hintmain(void)
{
floatoriginal_amount;printf(enteranamount:
);scanf(%f,original_amount);
printf(withtaxadded:
$%.2f\n,original_amount*1.05f);return0;
}
chapter3answerstoselectedexercises2.[was#2]
(a)printf(%-8.1e,x);
(b)printf(%10.6e,x);
(c)printf(%-8.3f,x);
(d)printf(%6.0f,x);
5.[was#8]thevaluesofx,i,andywillbe12.3,45,and.6,respectively.answerstoselectedprogrammingprojects
1.[was#4;modified]
#includestdio.h
intmain(void)
{
intmonth,day,year;printf(enteradate(mm/dd/yyyy):
);scanf(%d/%d/%d,month,day,year);
printf(youenteredthedate%d%.2d%.2d\n,year,month,day);return0;
}
3.[was#6;modified]#includestdio.h
intmain(void)
{
intprefix,group,publisher,item,check_digit;printf(enterisbn:
);
scanf(%d-%d-%d-%d-%d,prefix,group,publisher,item,check_digit);
printf(gs1prefix:
%d\n,prefix);printf(groupidentifier:
%d\n,group);printf(publishercode:
%d\n,publisher);printf(itemnumber:
%d\n,item);printf(checkdigit:
%d\n,check_digit);
/*thefiveprintfcallscanbecombinedasfollows:
printf(gs1prefix:
%d\ngroupidentifier:
%d\npublishercode:
%d\nitemnumber:
%d\ncheckdigit:
%d\n,prefix,group,publisher,item,check_digit);
*/
return0;
}chapter4answerstoselectedexercises
2.[was#2]notinc89.supposethatiis9andjis7.thevalueof(-i)/jcouldbeeither—or—.,dependingontheimplementation.ontheotherhand,thevalueof-(i/j)isalways—,regardlessoftheimplementation.inc99,ontheotherhand,thevalueof(-i)/jmustbeequaltothevalueof-(i/j).
9.[was#6]
(a)638
(b)321
(c)2-13
(d)000
13.[was#8]theexpression++iisequivalentto(i+=1).thevalueofbothexpressionsisiaftertheincrementhasbeenperformed.answerstoselecte