CPrimerPlus第6版編程練習答案(已下載)_第1頁
CPrimerPlus第6版編程練習答案(已下載)_第2頁
CPrimerPlus第6版編程練習答案(已下載)_第3頁
CPrimerPlus第6版編程練習答案(已下載)_第4頁
CPrimerPlus第6版編程練習答案(已下載)_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、ChapterProgrammingExercisesPE2-1/*ProgrammingExercise2-1*/#include<stdio.h>intmain(void)printf("GustavMahlern");printf("GustavnMahlern");printf("Gustav");printf("Mahlern");return0;PE2-3/*ProgrammingExercise2-3*/#include<stdio.h>intmain(void)intagey

2、ears;/*ageinyears*/intagedays;/*ageindays*/*largeagesmayrequirethelongtype*/ageyears=101;agedays=365*ageyears;printf("Anageof%dyearsis%ddays.n",ageyears,agedays);return0;PE2-4/*ProgrammingExercise2-4*/#include<stdio.h>voidjolly(void);voiddeny(void);intmain(void)jolly();jolly();jolly(

3、);deny();return0;voidjolly(void)printf("Forhe'sajollygoodfellow!n");voiddeny(void)printf("Whichnobodycandeny!n");PE2-6/*ProgrammingExercise2-6*/#include<stdio.h>intmain(void)inttoes;toes=10;printf("toes=%dn",toes);CPrimerPlusSixthEditionProgrammingSelectedprin

4、tf("Twicetoes=%dn",2*toes);printf("toessquared=%dn",toes*toes);return0;/*orcreatetwomorevariables,setthemto2*toesandtoes*toes*/PE2-8/*ProgrammingExercise2-8*/#include<stdio.h>voidone_three(void);voidtwo(void);intmain(void)printf("startingnow:n");one_three();printf

5、("done!n");return0;voidone_three(void)printf("onen");two();printf("threen");voidtwo(void)printf("twon");Chapter3ProgrammingExercisesPE3-2/*ProgrammingExercise3-2*/#include<stdio.h>intmain(void)intascii;printf("EnteranASCIIcode:");scanf("%d

6、",&ascii);printf("%distheASCIIcodefor%c.n",ascii,ascii);return0;PE3-4/*ProgrammingExercise3-4*/#include<stdio.h>intmain(void)floatnum;printf("Enterafloating-pointvalue:");scanf("%f",&num);printf("fixed-pointnotation:%fn",num);printf("ex

7、ponentialnotation:%en",num);printf("pnotation:%an",num);return0;CPrimerPlusSixthEditionProgrammingExerciseSelectedAnswersPE3-6/*ProgrammingExercise3-6*/#include<stdio.h>intmain(void)floatmass_mol=3.0e-23;/*massofwatermoleculeingrams*/floatmass_qt=950;/*massofquartofwateringrams*

8、/floatquarts;floatmolecules;printf("Enterthenumberofquartsofwater:");scanf("%f",&quarts);molecules=quarts*mass_qt/mass_mol;printf("%fquartsofwatercontain%emolecules.n",quarts,molecules);return0;Chapter4ProgrammingExercisesPE4-1/*ProgrammingExercise4-1*/#include<s

9、tdio.h>intmain(void)charfname40;charlname40;printf("Enteryourfirstname:");scanf("%s",fname);printf("Enteryourlastname:");scanf("%s",lname);printf("%s,%sn",lname,fname);return0;PE4-4/*ProgrammingExercise4-4*/#include<stdio.h>intmain(void)floa

10、theight;charname40;printf("Enteryourheightininches:");scanf("%f",&height);printf("Enteryourname:");scanf("%s",name);printf("%s,youare%.3ffeettalln",name,height/12.0);return0;PE4-7/*ProgrammingExercise4-7*/#include<stdio.h>#include<float.

11、h>intmain(void)doubleot_d=1.0/3.0;printf("floatvalues:");printf("%.4f%.12f%.16fn",ot_f,ot_f,ot_f);printf("doublevalues:");printf("%.4f%.12f%.16fn",ot_d,ot_d,ot_d);printf("FLT_DIG:%dn",FLT_DIG);printf("DBL_DIG:%dn",DBL_DIG);return0;Chapte

12、r 5 ProgrammingExercisesPE5-1/*ProgrammingExercise5-1*/#include<stdio.h>intmain(void)constintminperhour=60;intminutes,hours,mins;printf("Enterthenumberofminutestoconvert:");scanf("%d",&minutes);while(minutes>0)hours=minutes/minperhour;mins=minutes%minperhour;printf(&

13、quot;%dminutes=%dhours,%dminutesn",minutes,hours,mins);printf("Enternextminutesvalue(0toquit):");scanf("%d",&minutes);printf("Byen");return0;PE5-3/*ProgrammingExercise5-3*/#include<stdio.h>intmain(void)constintdaysperweek=7;intdays,weeks,day_rem;printf(&q

14、uot;Enterthenumberofdays:");scanf("%d",&days);while(days>0)weeks=days/daysperweek;day_rem=days%daysperweek;printf("%ddaysare%dweeksand%ddays.n",days,weeks,day_rem);printf("Enterthenumberofdays(0orlesstoend):");scanf("%d",&days);printf("Don

15、e!n");return0;CPrimerPlusSixthEditionProgrammingSelectedPE5-5/*ProgrammingExercise5-5*/#include<stdio.h>intmain(void)/*findssumoffirstnintegers*/intcount,sum;intn;printf("Entertheupperlimit:");scanf("%d",&n);count=0;sum=0;while(count+<n)sum=sum+count;printf(&quo

16、t;sum=%dn",sum);return0;PE5-7/*ProgrammingExercise5-7*/#include<stdio.h>voidshowCube(doublex);intmain(void)/*findscubeofenterednumber*/doubleval;printf("Enterafloating-pointvalue:");scanf("%lf",&val);showCube(val);return0;voidshowCube(doublex)printf("Thecubeof

17、%eis%e.n",x,x*x*x);Chapter 6 ProgrammingExercisesPE6-1/*pe6-1.c*/*thisimplementationassumesthecharactercodes*/*aresequential,astheyareinASCII.*/#include<stdio.h>#defineSIZE26intmain(void)charlcaseSIZE;inti;for(i=0;i<SIZE;i+)lcasei='a'+i;for(i=0;i<SIZE;i+)printf("%c"

18、;,lcasei);printf("n");return0;PE6-3/*pe6-3.c*/*thisimplementationassumesthecharactercodes*/*aresequential,astheyareinASCII.*/#include<stdio.h>intmain(void)charlet='F'charstart;charend;for(end=let;end>='A'end-)for(start=let;start>=end;start-)printf("%c"

19、,start);printf("n");return0;PE6-6/*pe6-6.c*/#include<stdio.h>intmain(void)intlower,upper,index;intsquare,cube;printf("Enterstartinginteger:");scanf("%d",&lower);printf("Enterendinginteger:");scanf("%d",&upper);printf("%5s%10s%15sn&

20、quot;,"num","square","cube");for(index=lower;index<=upper;index+)square=index*index;cube=index*square;printf("%5d%10d%15dn",index,square,cube);return0;PE6-8/*pe6-8.c*/#include<stdio.h>intmain(void)doublen,m;doubleres;printf("Enterapairofnumbers:&

21、quot;);while(scanf("%lf%lf",&n,&m)=2)res=(n-m)/(n*m);printf("(%.3g-%.3g)/(%.3g*%.3g)=%.5gn",n,m,n,m,res);printf("Enternextpair(non-numerictoquit):");return0;PE6-11/*pe6-11.c*/#include<stdio.h>#defineSIZE8intmain(void)intvalsSIZE;inti;printf("Pleaseent

22、er%dintegers.n",SIZE);for(i=0;i<SIZE;i+)scanf("%d",&valsi);printf("Here,inreverseorder,arethevaluesyouentered:n");for(i=SIZE-1;i>=0;i-)printf("%d",valsi);printf("n");return0;PE6-13/*pe6-13.c*/*Thisversionstartswiththe0power*/#include<stdio.h&

23、gt;#defineSIZE8intmain(void)inttwopowsSIZE;inti;intvalue=1;/*2tothe0*/for(i=0;i<SIZE;i+)twopowsi=value;value*=2;i=0;doprintf("%d",twopowsi);i+;while(i<SIZE);printf("n");return0;PE6-14/*pe-14.c*/*ProgrammingExercise6-14*/#include<stdio.h>#defineSIZE8intmain(void)double

24、arrSIZE;doublearr_cumulSIZE;inti;printf("Enter%dnumbers:n",SIZE);for(i=0;i<SIZE;i+)printf("value#%d:",i+1);scanf("%lf",&arri);/*orscanf("%lf",arr+i);*/arr_cumul0=arr0;/*setfirstelement*/for(i=1;i<SIZE;i+)arr_cumuli=arr_cumuli-1+arri;for(i=0;i<SIZE

25、;i+)printf("%8g",arri);printf("n");for(i=0;i<SIZE;i+)printf("%8g",arr_cumuli);printf("n");return0;PE6-16/*pe6-16.c*/#include<stdio.h>#defineRATE_SIMP0.10#defineRATE_COMP0.05#defineINIT_AMT100.0intmain(void)doubledaphne=INIT_AMT;doubledeidre=INIT_AMT;i

26、ntyears=0;while(deidre<=daphne)daphne+=RATE_SIMP*INIT_AMT;deidre+=RATE_COMP*deidre;+years;printf("Investmentvaluesafter%dyears:n",years);printf("Daphne:$%.2fn",daphne);printf("Deidre:$%.2fn",deidre);return0;Chapter 7 ProgrammingExercisesPE7-1/*ProgrammingExercise7-1*

27、/#include<stdio.h>intmain(void)charch;intsp_ct=0;intnl_ct=0;intother=0;while(ch=getchar()!='#')if(ch='')sp_ct+;elseif(ch='n')nl_ct+;elseother+;printf("spaces:%d,newlines:%d,others:%dn",sp_ct,nl_ct,other);return0;PE7-3/*ProgrammingExercise7-3*/#include<stdio

28、.h>intmain(void)intn;doublesumeven=0.0;intct_even=0;doublesumodd=0.0;intct_odd=0;while(scanf("%d",&n)=1&&n!=0)if(n%2=0)sumeven+=n;+ct_even;else/n%2iseither1or-1sumodd+=n;+ct_odd;printf("Numberofevens:%d",ct_even);if(ct_even>0)printf("average:%g",sumeve

29、n/ct_even);putchar('n');printf("Numberofodds:%d",ct_odd);if(ct_odd>0)printf("average:%g",sumodd/ct_odd);putchar('n');printf("ndonen");return0;PE7-5/*ProgrammingExercise7-5*/#include<stdio.h>intmain(void)charch;intct1=0;intct2=0;while(ch=getchar(

30、)!='#')switch(ch)case'.':putchar('!');+ct1;break;case'!':putchar('!');putchar('!');+ct2;break;default:putchar(ch);printf("%dreplacement(s)of.with!n",ct1);printf("%dreplacement(s)of!with!n",ct2);return0;PE7-7/ProgrammingExercise7-710

31、401.5/ $10 per hour/ hours at basepay/ 1.5 time/ 1st rate tier/ 2st rate tier/ rate for 1st tier/ rate for 2nd tier/ rate for 3rd tier int#include<stdio.h>#defineBASEPAY#defineBASEHRS#defineOVERTIME#defineAMT1300#defineAMT2150#defineRATE10.15#defineRATE20.20#defineRATE30.25main(void)doublehour

32、s;doublegross;doublenet;doubletaxes;printf("Enterthenumberofhoursworkedthisweek:");scanf("%lf",&hours);if(hours<=BASEHRS)gross=hours*BASEPAY;elsegross=BASEHRS*BASEPAY+(hours-BASEHRS)*BASEPAY*OVERTIME;if(gross<=AMT1)taxes=gross*RATE1;elseif(gross<=AMT1+AMT2)taxes=AMT1

33、*RATE1+(gross-AMT1)*RATE2;elsetaxes=AMT1*RATE1+AMT2*RATE2+(gross-AMT1-AMT2)*RATE3;net=gross-taxes;printf("gross:$%.2f;taxes:$%.2f;net:$%.2fn",gross,taxes,net);return0;PE7-9/*ProgrammingExercise7-9*/#include<stdio.h>#include<stdbool.h>intmain(void)intlimit;intnum;intdiv;boolnumI

34、sPrime;/useintifstdbool.hnotavailableprintf("Enterapositiveinteger:");while(scanf("%d",&limit)=1&&limit>0)if(limit>1)printf("Herearetheprimenumbersupthrough%dn",limit);elseprintf("Noprimes.n");for(num=2;num<=limit;num+)for(div=2,numIsPrime

35、=true;(div*div)<=num;div+)if(num%div=0)numIsPrime=false;if(numIsPrime)printf("%disprime.n",num);printf("Enterapositiveinteger(qtoquit):");printf("Done!n");return0;PE7-11/*pe7-11.c*/*ProgrammingExercise7-11*/#include<stdio.h>#include<ctype.h>intmain(void)c

36、onstdoubleprice_artichokes=2.05;constdoubleprice_beets=1.15;constdoubleprice_carrots=1.09;constdoubleDISCOUNT_RATE=0.05;constdoubleunder5=6.50;constdoubleunder20=14.00;constdoublebase20=14.00;constdoubleextralb=0.50;charch;doublelb_artichokes=0;doublelb_beets=0;doublelb_carrots=0;doublelb_temp;doubl

37、elb_total;doublecost_artichokes;doublecost_beets;doublecost_carrots;doublecost_total;doublefinal_total;doublediscount;doubleshipping;printf("Enteratobuyartichokes,bforbeets,");printf("cforcarrots,qtoquit:");while(ch=getchar()!='q'&&ch!='Q')if(ch='n'

38、;)continue;while(getchar()!='n')continue;ch=tolower(ch);switch(ch)case'a':printf("Enterpoundsofartichokes:");scanf("%lf",&lb_temp);lb_artichokes+=lb_temp;break;case'b':printf("Enterpoundsofbeets:");scanf("%lf",&lb_temp);lb_beets

39、+=lb_temp;break;case'c':printf("Enterpoundsofcarrots:");scanf("%lf",&lb_temp);lb_carrots+=lb_temp;break;default:printf("%cisnotavalidchoice.n",ch);printf("Enteratobuyartichokes,bforbeets,");printf("cforcarrots,qtoquit:");cost_artichokes=p

40、rice_artichokes*lb_artichokes;cost_beets=price_beets*lb_beets;cost_carrots=price_carrots*lb_carrots;cost_total=cost_artichokes+cost_beets+cost_carrots;lb_total=lb_artichokes+lb_beets+lb_carrots;if(lb_total<=0)shipping=0.0;elseif(lb_total<5.0)shipping=under5;elseif(lb_total<20)shipping=under

41、20;elseshipping=base20+extralb*lb_total;if(cost_total>100.0)discount=DISCOUNT_RATE*cost_total;elsediscount=0.0;final_total=cost_total+shipping-discount;printf("Yourorder:n");printf("%.2flbsofartichokesat$%.2fperpound:$%.2fn",lb_artichokes,price_artichokes,cost_artichokes);prin

42、tf("%.2flbsofbeetsat$%.2fperpound:$%.2fn",lb_beets,price_beets,cost_beets);printf("%.2flbsofcarrotsat$%.2fperpound:$%.2fn",lb_carrots,price_carrots,cost_carrots);printf("Totalcostofvegetables:$%.2fn",cost_total);if(cost_total>100)printf("Volumediscount:$%.2fn&qu

43、ot;,discount);printf("Shipping:$%.2fn",shipping);printf("Totalcharges:$%.2fn",final_total);return0;Chapter 8 ProgrammingExercisesPE8-1/*ProgrammingExercise8-1*/#include<stdio.h>intmain(void)intch;intct=0;while(ch=getchar()!=EOF)ct+;printf("%dcharactersreadn",ct);r

44、eturn0;PE8-3/*ProgrammingExercise8-3*/*Usingctype.heliminatesneedtoassumeconsecutivecoding*/#include<stdio.h>#include<ctype.h>intmain(void)intch;unsignedlonguct=0;unsignedlonglct=0;unsignedlongoct=0;while(ch=getchar()!=EOF)if(isupper(ch)uct+;elseif(islower(ch)lct+;elseoct+;CPrimerPlusSix

45、thEditionProgrammingSelectedprintf("%luuppercasecharactersreadn",uct);printf("%lulowercasecharactersreadn",lct);printf("%luothercharactersreadn",oct);return0;/*oryoucoulduseif(ch>='A'&&ch<='Z')uct+;elseif(ch>='a'&&ch<=

46、'z')lct+;elseoct+;*/PE8-5/*ProgrammingExercise8-5*/*binaryguess.c-animprovednumber-guesser*/*butreliesupontruthful,correctresponses*/#include<stdio.h>#include<ctype.h>intmain(void)inthigh=100;intlow=1;intguess=(high+low)/2;charresponse;printf("Pickanintegerfrom1to100.Iwilltr

47、ytoguess");printf("it.nRespondwithayifmyguessisright,with");printf("nahifitishigh,andwithanlifitislow.n");printf("Uh.isyournumber%d?n",guess);while(response=getchar()!='y')/*getresponse*/if(response='n')continue;if(response!='h'&&res

48、ponse!='l')continue;printf("Idon'tunderstandthatresponse.Pleaseenterhforn");printf("high,lforlow,oryforcorrect.n");if(response='h')high=guess-1;elseif(response='l')low=guess+1;guess=(high+low)/2;printf("Well,then,isit%d?n",guess);printf("

49、;IknewIcoulddoit!n");return0;PE8-7/*ProgrammingExercise8-7*/#include<stdio.h>#include<ctype.h>#include<stdio.h>#defineBASEPAY18.75/$8.75perhour#defineBASEPAY29.33/$9.33perhour#defineBASEPAY310.00/$10.00perhour#defineBASEPAY411.20/$11.20perhour#defineBASEHRS40/hoursatbasepay#de

50、fineOVERTIME1.5/1.5time#define AMT1#define AMT2#define RATE1#define RATE2#define RATE3300/1stratetier150/2stratetier0.15/ratefor1sttier0.20/ratefor2ndtier0.25/ratefor3rdtierintgetfirst(void);voidmenu(void);intmain(void)doublehours;doublegross;doublenet;doubletaxes;doublepay;charresponse;menu();while

51、(response=getfirst()!='q')if(response='n')/*skipovernewlines*/continue;response=tolower(response);/*acceptAasa,etc.*/switch(response)case'a':pay=BASEPAY1;break;case'b':pay=BASEPAY2;break;case'c':pay=BASEPAY3;break;case'd':pay=BASEPAY4;break;default:pri

52、ntf("Pleaseentera,b,c,d,orq.n");menu();continue;/gotobeginningofloopprintf("Enterthenumberofhoursworkedthisweek:");scanf("%lf",&hours);if(hours<=BASEHRS)gross=hours*pay;elsegross=BASEHRS*pay+(hours-BASEHRS)*pay*OVERTIME;if(gross<=AMT1)taxes=gross*RATE1;elseif(

53、gross<=AMT1+AMT2)taxes=AMT1*RATE1+(gross-AMT1)*RATE2;elsetaxes=AMT1*RATE1+AMT2*RATE2+(gross-AMT1-AMT2)*RATE3;net=gross-taxes;printf("gross:$%.2f;taxes:$%.2f;net:$%.2fn",gross,taxes,net);menu();printf("Done.n");return0;voidmenu(void)printf("*11II*n");printf("II*n

54、");printf("Enterthelettercorrespondingtothedesiredpayrate""oraction:n");printf("a)$%4.2f/hrb)$%4.2f/hrn",BASEPAY1,BASEPAY2);printf("c)$%5.2f/hrd)$%5.2f/hrn",BASEPAY3,BASEPAY4);printf("q)quitn");*11intgetfirst(void)intch;ch=getchar();while(isspac

55、e(ch)ch=getchar();while(getchar()!='n')continue;returnch;Chapter 9 ProgrammingExercisesPE9-1/*ProgrammingExercise9-1*/#include<stdio.h>doublemin(double,double);intmain(void)doublex,y;printf("Entertwonumbers(qtoquit):");while(scanf("%lf%lf",&x,&y)=2)printf(&q

56、uot;Thesmallernumberis%f.n",min(x,y);printf("Nexttwovalues(qtoquit):");printf("Bye!n");return0;doublemin(doublea,doubleb)returna<b?a:b;/*alternativeimplementationdoublemin(doublea,doubleb)if(a<b)returna;elsereturnb;*/PE9-3/*ProgrammingExercise9-3*/#include<stdio.h&g

57、t;voidchLineRow(charch,intc,intr);intmain(void)charch;intcol,row;printf("Enteracharacter(#toquit):");while(ch=getchar()!='#')if(ch='n')continue;printf("Enternumberofcolumnsandnumberofrows:");if(scanf("%d%d",&col,&row)!=2)break;chLineRow(ch,col,ro

58、w);printf("nEnternextcharacter(#toquit):");printf("Bye!n");return0;/startrowsandcolsat0voidchLineRow(charch,intc,intr)intcol,row;for(row=0;row<r;row+)for(col=0;col<c;col+)putchar(ch);putchar('n');return;PE9-5/*ProgrammingExercise9-5*/#include<stdio.h>voidlarge

59、r_of(double*p1,double*p2);intmain(void)doublex,y;printf("Entertwonumbers(qtoquit):");while(scanf("%lf%lf",&x,&y)=2)larger_of(&x,&y);printf("Themodifiedvaluesare%fand%f.n",x,y);printf("Nexttwovalues(qtoquit):");printf("Bye!n");return0;

60、voidlarger_of(double*p1,double*p2)if(*p1>* p2)*p2=* p1;else* p1=*p2;/alternatively:/*voidlarger_of(double*p1,double*p2)*p1=*p2=*p1>*p2?*p1:*p2;*/PE9-8/*ProgrammingExercise9-8*/#include<stdio.h>doublepower(doublea,intb);/*ANSIprototype*/intmain(void)doublex,xpow;intn;printf("Enteranu

61、mberandtheintegerpower");printf("towhichnthenumberwillberaised.Enterq");printf("toquit.n");while(scanf("%lf%d",&x,&n)=2)xpow=power(x,n);/*functioncall< /printf("%.3gtothepower%dis%.5gn",x,n,xpow);printf("Enternextpairofnumbersorqtoquit.n&q

62、uot;);printf("Hopeyouenjoyedthispowertrip-bye!n");return0;doublepower(doublea,intb)/*functiondefinition*/doublepow=1;inti;if(b=0)if(a=0)printf("0tothe0undefined;using1asthevaluen");pow=1.0;elseif(a=0)pow=0.0;elseif(b>0)for(i=1;i<=b;i+)pow*=a;else/*b< 0*/pow=1.0/power(a,-b);returnpow;/*returnthevalueofpow*/P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論