c语言程序设计现代方法第二版习题答案doc.docx

上传人:b****1 文档编号:882481 上传时间:2023-04-30 格式:DOCX 页数:107 大小:41.88KB
下载 相关 举报
c语言程序设计现代方法第二版习题答案doc.docx_第1页
第1页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第2页
第2页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第3页
第3页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第4页
第4页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第5页
第5页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第6页
第6页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第7页
第7页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第8页
第8页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第9页
第9页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第10页
第10页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第11页
第11页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第12页
第12页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第13页
第13页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第14页
第14页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第15页
第15页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第16页
第16页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第17页
第17页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第18页
第18页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第19页
第19页 / 共107页
c语言程序设计现代方法第二版习题答案doc.docx_第20页
第20页 / 共107页
亲,该文档总共107页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言程序设计现代方法第二版习题答案doc.docx

《c语言程序设计现代方法第二版习题答案doc.docx》由会员分享,可在线阅读,更多相关《c语言程序设计现代方法第二版习题答案doc.docx(107页珍藏版)》请在冰点文库上搜索。

c语言程序设计现代方法第二版习题答案doc.docx

c语言程序设计现代方法第二版习题答案doc

Chapter2

AnswerstoSelectedExercises

2.[was#2](a)Theprogramcontainsonedirective(#include)andfourstatements(threecallsofprintfandonereturn).

(b)

Parkinson'sLaw:

Workexpandssoastofillthetime

availableforitscompletion.

3.[was#4]

#include

intmain(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]Here'sonepossibleprogram:

#include

intmain(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:

5618848

Valueofj:

0

Valueofk:

6844404

Valueofx:

3.98979e-34

Valueofy:

9.59105e-39

Valueofz:

9.59105e-39

Thevaluesprinteddependonmanyfactors,sothechancethatyou'llgetexactlythesenumbersissmall.

5.[was#10](a)isnotlegalbecause100_bottlesbeginswithadigit.

8.[was#12]Thereare14tokens:

a,=,(,3,*,q,-,p,*,p,),/,3,and;.

AnswerstoSelectedProgrammingProjects

4.[was#8;modified]

#include

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:

#include

intmain(void)

{

floatoriginal_amount;

printf("Enteranamount:

");

scanf("%f",&original_amount);

printf("Withtaxadded:

$%.2f\n",original_amount*1.05f);

return0;

}

Chapter3

AnswerstoSelectedExercises

2.[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]

#include

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]

#include

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;

}

Chapter4

AnswerstoSelectedExercises

2.[was#2]NotinC89.Supposethatiis9andjis7.Thevalueof(-i)/jcouldbeeither–1or–2,dependingontheimplementation.Ontheotherhand,thevalueof-(i/j)isalways–1,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.

AnswerstoSelectedProgrammingProjects

2.[was#4]

#include

intmain(void)

{

intn;

printf("Enterathree-digitnumber:

");

scanf("%d",&n);

printf("Thereversalis:

%d%d%d\n",n%10,(n/10)%10,n/100);

return0;

}

Chapter5

AnswerstoSelectedExercises

2.[was#2]

(a)1

(b)1

(c)1

(d)1

4.[was#4](i>j)-(i

6.[was#12]Yes,thestatementislegal.Whennisequalto5,itdoesnothing,since5isnotequalto–9.

10.[was#16]Theoutputis

onetwo

sincetherearenobreakstatementsafterthecases.

AnswerstoSelectedProgrammingProjects

2.[was#6]

#include

intmain(void)

{

inthours,minutes;

printf("Entera24-hourtime:

");

scanf("%d:

%d",&hours,&minutes);

printf("Equivalent12-hourtime:

");

if(hours==0)

printf("12:

%.2dAM\n",minutes);

elseif(hours<12)

printf("%d:

%.2dAM\n",hours,minutes);

elseif(hours==12)

printf("%d:

%.2dPM\n",hours,minutes);

else

printf("%d:

%.2dPM\n",hours-12,minutes);

return0;

}

4.[was#8;modified]

#include

intmain(void)

{

intspeed;

printf("Enterawindspeedinknots:

");

scanf("%d",&speed);

if(speed<1)

printf("Calm\n");

elseif(speed<=3)

printf("Lightair\n");

elseif(speed<=27)

printf("Breeze\n");

elseif(speed<=47)

printf("Gale\n");

elseif(speed<=63)

printf("Storm\n");

else

printf("Hurricane\n");

return0;

}

6.[was#10]

#include

intmain(void)

{

intcheck_digit,d,i1,i2,i3,i4,i5,j1,j2,j3,j4,j5,

first_sum,second_sum,total;

printf("Enterthefirst(single)digit:

");

scanf("%1d",&d);

printf("Enterfirstgroupoffivedigits:

");

scanf("%1d%1d%1d%1d%1d",&i1,&i2,&i3,&i4,&i5);

printf("Entersecondgroupoffivedigits:

");

scanf("%1d%1d%1d%1d%1d",&j1,&j2,&j3,&j4,&j5);

printf("Enterthelast(single)digit:

");

scanf("%1d",&check_digit);

first_sum=d+i2+i4+j1+j3+j5;

second_sum=i1+i3+i5+j2+j4;

total=3*first_sum+second_sum;

if(check_digit==9-((total-1)%10))

printf("VALID\n");

else

printf("NOTVALID\n");

return0;

}

10.[was#14]

#include

intmain(void)

{

intgrade;

printf("Enternumericalgrade:

");

scanf("%d",&grade);

if(grade<0||grade>100){

printf("Illegalgrade\n");

return0;

}

switch(grade/10){

case10:

case9:

printf("Lettergrade:

A\n");

break;

case8:

printf("Lettergrade:

B\n");

break;

case7:

printf("Lettergrade:

C\n");

break;

case6:

printf("Lettergrade:

D\n");

break;

case5:

case4:

case3:

case2:

case1:

case0:

printf("Lettergrade:

F\n");

break;

}

return0;

}

Chapter6

AnswerstoSelectedExercises

4.[was#10](c)isnotequivalentto(a)and(b),becauseiisincrementedbeforetheloopbodyisexecuted.

10.[was#12]Considerthefollowingwhileloop:

while(…){

continue;

}

Theequivalentcodeusinggotowouldhavethefollowingappearance:

while(…){

gotoloop_end;

loop_end:

;/*nullstatement*/

}

12.[was#14]

for(d=2;d*d<=n;d++)

if(n%d==0)

break;

Theifstatementthatfollowstheloopwillneedtobemodifiedaswell:

if(d*d<=n)

printf("%disdivisibleby%d\n",n,d);

else

printf("%disprime\n",n);

14.[was#16]Theproblemisthesemicolonattheendofthefirstline.Ifweremoveit,thestatementisnowcorrect:

if(n%2==0)

printf("niseven\n");

AnswerstoSelectedProgrammingProjects

2.[was#2]

#include

intmain(void)

{

intm,n,remainder;

printf("Entertwointegers:

");

scanf("%d%d",&m,&n);

while(n!

=0){

remainder=m%n;

m=n;

n=remainder;

}

printf("Greatestcommondivisor:

%d\n",m);

return0;

}

4.[was#4]

#include

intmain(void)

{

floatcommission,value;

printf("Entervalueoftrade:

");

scanf("%f",&value);

while(value!

=0.0f){

if(value<2500.00f)

commission=30.00f+.017f*value;

elseif(value<6250.00f)

commission=56.00f+.0066f*value;

elseif(value<20000.00f)

commission=76.00f+.0034f*value;

elseif(value<50000.00f)

commission=100.00f+.0022f*value;

elseif(value<500000.00f)

commission=155.00f+.0011f*value;

else

commission=255.00f+.0009f*value;

if(commission<39.00f)

commission=39.00f;

printf("Commission:

$%.2f\n\n",commission);

printf("Entervalueoftrade:

");

scanf("%f",&value);

}

return0;

}

6.[was#6]

#include

intmain(void)

{

inti,n;

printf("Enterlimitonmaximumsquare:

");

scanf("%d",&n);

for(i=2;i*i<=n;i+=2)

printf("%d\n",i*i);

return0;

}

8.[was#8]

#include

intmain(void)

{

inti,n,start_day;

printf("Enternumberofdaysinmonth:

");

scanf("%d",&n);

printf("Enterstartingdayoftheweek(1=Sun,7=Sat):

");

scanf("%d",&start_day);

/*printanyleading"blankdates"*/

for(i=1;i

printf("");

/*nowprintthecalendar*/

for(i=1;i<=n;i++){

printf("%3d",i);

if((start_day+i-1)%7==0)

printf("\n");

}

return0;

}

Chapter7

AnswerstoSelectedExercises

3.[was#4](b)isnotlegal.

4.[was#6](d)isillegal,sinceprintfrequiresastring,notacharacter,asitsfirstargument.

10.[was#14]unsignedint,becausethe(int)castappliesonlytoj,notj*k.

12.[was#16]Thevalueofiisconvertedtofloatandaddedtof,thentheresultisconvertedtodoubleandstoredind.

14.[was#18]No.Convertingftointwillfailifthevaluestoredinfexceedsthelargestvalueoftypeint.

AnswerstoSelectedProgrammingProjects

1.[was#2]shortintvaluesareusuallystoredin16bits,causingfailureat182.intandlongintvaluesareusuallystoredin32bits,withfailureoccurringat46341.

2.[was#8]

#include

intmain(void)

{

inti,n;

charch;

printf("Thisprogramprintsatableofsquares.\n");

printf("Enternumberofentriesintable:

");

scanf("%d",&n);

ch=getchar();

/*disposeofnew-linecharacterfollowingnumb

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2