CPrimerPlus(第6版)第六章編程練習(xí)答案_第1頁
CPrimerPlus(第6版)第六章編程練習(xí)答案_第2頁
CPrimerPlus(第6版)第六章編程練習(xí)答案_第3頁
CPrimerPlus(第6版)第六章編程練習(xí)答案_第4頁
CPrimerPlus(第6版)第六章編程練習(xí)答案_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

CPrimerPlus(第6版)第六章編程練習(xí)答案6.16編程練習(xí)1./*編寫?個(gè)程序,創(chuàng)建?個(gè)包含26個(gè)元素的數(shù)組,并在其中存儲26個(gè)?寫字母。然后打印數(shù)組的所有內(nèi)容*/#include<stdio.h>#defineSIZE26intmain(void){charalphabet[SIZE];intindex;for(charch='a',index=0;ch<='z';ch++,index++)alphabet[index]=ch;for(intindex=0;index<SIZE;index++)printf("%c\n",alphabet[index]);return0;}2./*使?嵌套循環(huán)(nestedloop)按照下?的格式打印字符:$$$$$$$$$$$$$$$*/#include<stdio.h>intmain(void){for(inti=0;i<5;i++){for(intj=0;j<i+1;j++)printf("$");printf("\n");}return0;}3./*使?嵌套循環(huán)nestedloop,按下?的格式打印字母FFEFEDFEDCFEDCBFEDCBA此程序可以修改CH來打印各種字符遞減的三?形?如當(dāng)CH改為H時(shí),輸出效果如下:HHGHGFHGFEHGFEDHGFEDCHGFEDCBHGFEDCBA*/#include<stdio.h>#defineCH'F'intmain(void){charch=CH;for(inti=0;i<=CH-'A';i++){for(intj=0,ch=CH;j<=i;j++,從F開ch--)//始打印,第?次打印1個(gè)printf("%c",ch);第?次//打印兩個(gè),利?與外層循環(huán)變量i的關(guān)系控制printf("\n");}return0;}4.此程序提供了3個(gè)版本,依次改進(jìn)/*使?嵌套循環(huán),按下?的格式打印字母:ABCDEFGHIJKLMNOPQRSTU*/#include<stdio.h>intmain(void){constcharend='U';charstart;for(inti=0,start='A';ch<='U';i++){for(intj=0;j<=i;利?j++)?數(shù)//與打印字符之間的關(guān)系{printf("%c",start);start++;每打//印?個(gè)字符,字符遞增?下?個(gè)字符}printf("\n");每??//結(jié)束后,換?}return0;}//*************************************************************************//*************************************************************************/*下?是增強(qiáng)版,簡化了代碼?數(shù),并可讓?戶輸?指定字符打印三?形?輸?字符所在?如輸?V,則打?。篈BCDEFGHIJKLMNOPQRSTUVWXYZ[\*/#include<stdio.h>intmain(void){charend;charstart;printf("Enterancharacter:\n");scanf("%c",&end);for(inti=0,start='A';start<=end;i++){for(intj=0;j<=i;j++,printf("%c",start),start++);printf("\n");}return0;}//*************************************************************************/*進(jìn)了上個(gè)程序,使其只會打印??戶輸?的字符處,不同于上個(gè)程序會完整輸出字符所在的整?*/#include<stdio.h>intmain(void){charstart;charend;printf("Enteranendofthecharacter:\n");scanf("%c",&end);for(inti=0,start='A';start<=end;i++){for(intj=0;j<=i;j++,start++){if(start<=end)printf("%c",start);}printf("\n");}return0;}5./*編寫?個(gè)程序,提??戶輸??寫字母使?嵌套循環(huán)以下??字塔型的格式打印字母AABAABCBAABCDCBAABCDEDCBAABCDEDCBA打印這樣的圖形,要根據(jù)?戶輸?的字母來決定。例如,上?的圖形是在輸?E后的打印結(jié)果。*/#include<stdio.h>intmain(void){charstart='A';charend;charch=start;printf("Enterancharacteriwillgiveyouasurprisenow:\n");\scanf("%c",&end);printf("It'syourownalphabettree(haha):\n");for(inti=0;i<=end-start;i++,ch=start){for(intj=0;j<end-start-i;j++)printf("");for(intk=0;k<=i;k++){printf("%c",ch);ch++;}ch-=2;for(intc=0;c<i;c++){printf("%c",ch);ch--;}printf("\n");}return0;}//*************************************************************************//下?利?forloop的特性,使代碼更加緊湊#include<stdio.h>intmain(void){charend;charstart='A';charch=start;printf("Enterancharacteriwillgiveyouasurprisenow:\n");scanf("%c",&end);printf("It'syourownalphabettree(haha):\n");for(inti=0;i<=end-start;i++,ch=start){for(intj=0;j<end-start-i;j++)printf("");for(intk=0;k<=i;k++,ch++)printf("%c",ch);ch=ch-2;for(intc=0;c<i;c++,ch--)printf("%c",ch);printf("\n");}return0;}//?結(jié)?下,此題還是利?的是內(nèi)外層循環(huán)的數(shù)值關(guān)系,搞清楚當(dāng)中的關(guān)系也就不難了6./*編寫?個(gè)程序打印?個(gè)表格,每?打印?個(gè)整數(shù)、該數(shù)的平?、該數(shù)的??要求?戶輸?表格的上下限。使??個(gè)forloop*/#include<stdio.h>intmain(void){intstart;intend;printf("Enteranumberasstart:\n");scanf("%d",&start);printf("Enteranumberasend:\n");scanf("%d",&end);printf("_____________________________________\n");for(printf("original\tsuqare\tcube\n"),start;start<=end;start++){printf("%8d%14d%13d\n",start,start*start,start*start*start);}printf("_____________________________________\n");printf("That'sall");return0;}7./*編寫?個(gè)程序把?個(gè)單詞讀??個(gè)字符數(shù)組中,然后倒序打印這個(gè)單詞。提?strlen()函數(shù)可?于計(jì)算數(shù)組最后?個(gè)字符的下標(biāo)。*/#include<stdio.h>#include<string.h>#defineSIZE40intmain(void){charwords[SIZE];intend_index;printf("Pleaseenterawordthat""youwanttoknowit'sreversorder:\n");scanf("%s",words);end_index=strlen(words);for(end_index--;end_index>=0;end_index--)printf("%c",words[end_index]);return0;}8./*編寫?個(gè)程序,要求?戶輸?兩個(gè)浮點(diǎn)數(shù),并打印兩數(shù)之差除以兩數(shù)乘積的結(jié)果在?戶輸??數(shù)字之前,程序應(yīng)循環(huán)處理?戶輸?的每對值。*///使?dowhileloop可以處理?戶的?法輸?,但是沒有控制結(jié)束的?法......讀錯(cuò)題了//正確的答案在下?,可以看看#include<stdio.h>intmain(void){floatf_op;floats_op;do{printf("Pleaseentertwonumber:\n");fflush(stdin);?來清//除輸?緩沖區(qū),否則如果輸??float類型的值,這個(gè)值將在輸?緩沖區(qū)中?直被失敗讀取,導(dǎo)致?限循環(huán)“Pleaseentertwonumber:”}while((scanf("%f%f",&f_op,&s_op))!=2);printf("(%.3g-%.3g)/(%.3g*%.3g)=%.5g",f_op,s_op,f_op,s_op,(f_op-s_op)/(f_op*s_op));return0;}//*************************************************************************//使?whileloop當(dāng)?戶輸??數(shù)值類型時(shí),結(jié)束#include<stdio.h>intmain(void){doublen,m;doubleres;printf("Enterapairofnumbers:");while(scanf("%lf%lf",&n,&m)==2){res=(n-m)/(n*m);printf("(%.3g-%.3g)/(%.3g*%.3g)=%.5g\n",n,m,n,m,res);printf("Enternextpair(non-numerictoquit)");}}9./*修改練習(xí)8,使??個(gè)函數(shù)返回計(jì)算的結(jié)果。*/#include<stdio.h>floatfunc1(floatf_op,floats_op);intmain(void){floatf_op;floats_op;intstates;do{printf("Pleaseentertwonumber:\n");fflush(stdin);states=scanf("%f%f",&f_op,&s_op);}while(states!=2);printf("Result:%f\n",func1(f_op,s_op));return0;}floatfunc1(floatf_op,floats_op){return(f_op-s_op)/(f_op*s_op);}10./*編寫?個(gè)程序,要求?戶輸??個(gè)上限整數(shù)和?個(gè)下限整數(shù),計(jì)算從上限到下限范圍內(nèi)所有整數(shù)的平?和,并顯?計(jì)算結(jié)果直到?戶輸?的上限整數(shù)?于下限整數(shù)為?。程序的運(yùn)??例如下:Enterlowerandupperintegerlimits:59Thesumsofthesquaresfrom25to81is255Enternextsetoflimits:325Thesumsofthesquaresfrom9to625is5520Enternextsetoflimits:55Done*/#include<stdio.h>intmain(void){intlower_num;intupper_num;printf("Enterlowerandupperintegerlimits:");scanf("%d%d",&lower_num,&upper_num);while(upper_num>lower_num){intsum=0;for(intcount=lower_num;count<=upper_num;count++){sum+=count*count;}printf("Thesumssquaresfrome%dto%dis%d\n",lower_num*lower_num,upper_num*upper_num,sum);printf("Enterlowerandupperintegerlimits:");scanf("%d%d",&lower_num,&upper_num);}printf("Done\n");return0;}11./*編寫?個(gè)程序,在數(shù)組中讀?8個(gè)整數(shù),然后按倒序打印這8個(gè)整數(shù)*/#include<stdio.h>#defineSIZE8intmain(void){intnum[SIZE];printf("Start:");printf("Pleaseenter%dintegers.\n",SIZE);for(inti=0;i<SIZE;i++)scanf("%d",&num[i]);printf("Here,inreverseorder,arethevaluesyouentered:\n");for(intj=SIZE-1;j>=0;j--)printf("%d\n",num[j]);printf("Done!\n");return0;}12./*考慮下?兩個(gè)?限序列:1.0+1.0/2.0+1.0/3.0+1.0/4.0+...1.0-1.0/2.0+1.0/3.0-1.0/4.0+...編寫?個(gè)程序計(jì)算這兩個(gè)?限序列的綜合,直到到達(dá)某次數(shù)。提?:奇數(shù)個(gè)-相乘得-1,偶數(shù)個(gè)-1相乘得1讓?戶交互的輸?指定的次數(shù),當(dāng)?戶輸?0或負(fù)值時(shí)結(jié)束輸?查看運(yùn)?100項(xiàng)、1000項(xiàng)、10000項(xiàng)后的總和,是否發(fā)現(xiàn)每個(gè)序列都收斂于某值?*/#include<stdio.h>intmain(void){inttimes;floatcount1=1.0f;floatcount2=1.0f;floatsum1=0.0;floatsum2=0.0;printf("Howmanytimesadddtionyouwant:\n");scanf("%d",×);for(inti=1;i<=times;i++,count++){sum+=1.0/count;}for(intj=1;j<=times;j++,count2++){if(j%2==0){sum2-=1.0/count2;}else{sum2+=1.0/count2;}}printf("Thefirstinfiniteseries:%f\n",sum1);printf("Thesecondinfiniteseries:%f\n",sum2);return0;}第?個(gè)級數(shù)是收斂的,第?個(gè)級數(shù)不收斂,數(shù)學(xué)過程怎么證明來著我忘了==待我看完書再補(bǔ)上ORZ13./*編寫?個(gè)程序,創(chuàng)建?個(gè)包含?個(gè)元素的int類型數(shù)組,分別把數(shù)組元素設(shè)置為2的前8次冪。使?for循環(huán)設(shè)置數(shù)組元素的值,使?dowhile循環(huán)顯?數(shù)組的值*/#include<stdio.h>#defineSIZE8intmain(void){intnum[SIZE];intpower_of_two;intindex=0;for(inti=0;i<SIZE;i++){power_of_two=1;for(intj=1;j<=i+1;j++)power_of_two=power_of_two*2;num[i]=power_of_two;}do{printf("%d\n",num[index]);index++;}while(index<SIZE);return0;}14./*編寫?個(gè)程序,創(chuàng)建兩個(gè)包含8個(gè)元素的double類型數(shù)組使?循環(huán)提??戶為第?個(gè)數(shù)組輸?8個(gè)值。第?個(gè)元素的值設(shè)置為第?個(gè)數(shù)組對應(yīng)元素的累積之和。例如:第?個(gè)數(shù)組的第4個(gè)元素是第?個(gè)數(shù)組前4個(gè)元素之和(利?嵌套循環(huán)完成,但是第?個(gè)數(shù)組的第5個(gè)元素是第?個(gè)數(shù)組的第4個(gè)元素與第?個(gè)數(shù)組的第5個(gè)元素之和,只??個(gè)循環(huán)就能完成任務(wù),不需要使?嵌套循環(huán))最后,使?循環(huán)顯?兩個(gè)數(shù)組的內(nèi)容,每個(gè)數(shù)組各占??且相應(yīng)元素上下對齊*/#include<stdio.h>#defineSIZE8intmain(void){doublearr1[SIZE];doublearr2[SIZE];printf("Pleaseinputthevalueofthefirstarray:\n");for(inti=0;i<SIZE;i++){scanf("%lf",&arr1[i]);for(intj=1;j<=i;j++){arr2[0]=arr1[0];這條初//始化語句放在forloop?會報(bào)錯(cuò),原因尚不得知arr2[j]=arr2[j-1]+arr1[j];}}printf("Goodjob!\n");printf("————————————————————————————————————————\n");for(inti=0;i<SIZE;i++){printf("%7.2f",arr1[i]);}printf("\n");for(inti=0;i<SIZE;i++){printf("%7.2f",arr2[i]);}printf("\n————————————————————————————————————————\n");return0;}//*************************************************************************//法2待補(bǔ)充15./*編寫?個(gè)程序,讀取??輸?,讓后把輸?的內(nèi)容倒序打印出來??梢园演?儲存在char類型的數(shù)組中,假設(shè)每?字符不超過255.回憶?下,根據(jù)%c轉(zhuǎn)換說明(conversationspecification)scanf()每次只能中輸?中讀取?個(gè)字符,?且在?戶按下Enter鍵時(shí),scanf()會?成?個(gè)換?字符(\n).*/#include<stdio.h>#defineSIZE256intmain(void){charstr[SIZE];intindex=-1;printf("Pleaseinputeverytingyourlike,""butnomorethan255characters:\n");for(inti=0;i<SIZE;i++){scanf("%c",&str[i]);index++;統(tǒng)//計(jì)字符個(gè)數(shù)if(str[i]=='\n')break;?//到了后?章的break,暫時(shí)沒找到?前?章的解法}for(intj=index-1;j>=從0;indj--)ex處倒//序打印printf("%c",str[j]);return0;}16./*Daphne以10%的單利息投資了100美元(也就是說,每年投資獲利相當(dāng)于原始投資的10%)Deirdre以5%的復(fù)合利息投資了100美元(也就是說,利息是當(dāng)前余額的5%,包含之前的利息)編寫?個(gè)程序,計(jì)算需要多少年Deirade的投資額才會超過Daphne,并顯?那時(shí)兩?的投資額*/#include<stdio.h>#defineSIMP_RATE10%#defineCOM_RATE5%intmain(void){intbase_money=100;floatsimple_interest=(float)base_money;floatcompound_interest=(float)base_money;intyears=0;while(compound_interest<=simple_interest){simple_interest+=base_money*(10.0/100);compound_interest*=(105.0/100);years++;printf("The%dyear\n",years);printf("simpleinterest:%16.3f\n",simple_interest);printf("

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論