第25章習(xí)題講解_第1頁
第25章習(xí)題講解_第2頁
第25章習(xí)題講解_第3頁
第25章習(xí)題講解_第4頁
第25章習(xí)題講解_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第二章1、將下面各數(shù)用八進(jìn)制和十六進(jìn)制數(shù)表示:(1) 10 (2) 32 (3) 75 (4) -617(5) -111 (6) 2483 (7) -28654 (8) 21003012, 0 xA (2) 040, 0 x20 (3) 0113, 0 x4B(4) 0176627(-01151) , 0 xFD97 (-0 x269) (5) 0177621(-0157), 0 xFF91(-0 x6F)(6) 04663, 0 x9B3(7) 0110022(-067756),0 x9012 (-0 x6FEE)(8) 051013,0 x520B 2. 將”China”譯成密碼。密碼的規(guī)

2、律:用原來的字母后面第4個(gè)字母代替原來的字母。例如,字母“A”后面第4個(gè)字母是“E”,用“E”代替“A”。因此,“China”應(yīng)譯為“Glmre”。請編一程序,用賦初值的方法使c1、c2、c3、c4、c5這5個(gè)變量的值分別為”C”、”h”、”I”、”n”、”a”。經(jīng)過運(yùn)算,使c1,c2,c3,c4,c5分別變?yōu)椤癎”、”l”、”m”、”r”、”e”,并輸出。解:解:#includevoid main()char c1=C,c2=h,c3=I,c4=n,c5=a;c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;prinft(“password is %c%c%c%c%cn”,c1,c

3、2,c3,c4,c5);3. 求下面算術(shù)表達(dá)式的值:求下面算術(shù)表達(dá)式的值:(1) x+a%3*(int)(x+y)%2/4 設(shè)設(shè)x=2.5,a=7,y=4.7(2)(float)(a+b)/2+(int)x%(int)y 設(shè)設(shè)a=2,b=3,x=3.5,y=2.5解:解: (1)2.5 (2) 3.5 4. 寫出下面程序的運(yùn)行結(jié)果寫出下面程序的運(yùn)行結(jié)果 #includeVoid main()int i,j,m,n;i=8;j=10;m=+i;n=j+;Printf(“%d,%d,%d,%dn”,i,j,m,n);printf(%d,%d,%d,%dnn,i+,+j,m,n);printf(%d

4、,%d,%d,%dn,i,j,m,n); 結(jié)果: 9,11,9,10 9,12,9,10n 10,12,9,101. 設(shè)圓半徑設(shè)圓半徑r=1.5,圓柱高,圓柱高h(yuǎn)=3,求圓周長、面積求圓周長、面積,圓圓球表面、圓柱體積。用球表面、圓柱體積。用scanf輸入數(shù)據(jù),輸出計(jì)輸入數(shù)據(jù),輸出計(jì)算結(jié)果,輸出時(shí)要求有文字說明,取小數(shù)點(diǎn)后算結(jié)果,輸出時(shí)要求有文字說明,取小數(shù)點(diǎn)后2位數(shù)字。請編程序。位數(shù)字。請編程序。#includevoid main()float h,r,l,s,sq,vq,vz;float pi=3.1415926;printf(“請輸入圓半徑請輸入圓半徑r,圓柱高圓柱高h(yuǎn):”););sca

5、nf(“%f,%f”,&r,&h);第3章l=2*pi*r;S=r*r*pi;sq=4*pi*r*r;vq=4.0/3.0*pi*r*r*r;vz=pi*r*r*h;printf(“圓周長為:圓周長為: l=%6.2fn”,l);printf (“圓面積為:圓面積為: s=%6.2fn”,s);printf (“圓球表面積為:圓球表面積為: sq=%6.2fn”,sq);printf (“圓球體積為:圓球體積為: vq=%6.2fn”,vq);printf (“圓柱體積為:圓柱體積為: vz=%6.2fn”,vz);2. 輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公式為輸入一個(gè)華氏溫度,要求輸出攝氏

6、溫度。公式為 c=5/9(F-32)輸出要有文字說明,取輸出要有文字說明,取2位小數(shù)。位小數(shù)。解:解:#includevoid main()float c,f;printf(“請輸入一個(gè)華氏溫度:請輸入一個(gè)華氏溫度:”););scanf(“%f”,&f);c=(5.0/9.0)*(f-32);printf(“攝氏溫度為:攝氏溫度為:%5.2fn”,c); 3、編程序,用getchar函數(shù)讀入兩個(gè)字符給c1,c2,然后分別用putchar函數(shù)和printf函數(shù)輸出這兩個(gè)字符。并回答以下問題:(1) 變量c1,c2應(yīng)定義為字符還是整型?或二者皆可?(2) 要求輸出c1和c2值的ASCII碼,應(yīng)如何

7、處理?用putchar函數(shù)還是printf函數(shù)?(3) 整型變量與字符型變量是否在任何情況下都可以互相代替?如:“char c1,c2;” 與 “int c1,c2;”是否無條件等價(jià)? #includevoid main() char c1,c2;c1=getchar();c2=getchar();printf(“%c,%cn”,c1,c2);putchar(c1);putchar(c2); 1、寫出下面各邏輯表達(dá)式的值。設(shè)a=3,b=4,c=5. (1) a+bc&b=c 0 (2) a|b+c&b-c 1 (3) !(ab)&!c|1 1 (4) !(x=a)&(y=b)&0 0 (5)

8、!(a+b)+c-1&b/5+c/6 0第4章2.輸入輸入4個(gè)整數(shù)個(gè)整數(shù),要求按由小到大的順序輸出。要求按由小到大的順序輸出。解:此題采用依次比較的方法排出其大小順序。也可利用循環(huán)和數(shù)組。解:此題采用依次比較的方法排出其大小順序。也可利用循環(huán)和數(shù)組。#includevoid main()int t,a,b,c,d;printf(“請輸入請輸入4個(gè)數(shù):個(gè)數(shù):”););scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);printf(“a=%d,b=%d,c=%d,d=%dn”);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(ad)t=a;a=d;d=

9、t;if(bc)t=b;b=c;c=t;if(bd)t=b;b=d;d=t;If(cd)t=c;c=d;d=t;printf(“排列的結(jié)果如下:排列的結(jié)果如下:”););prnitf(“%d %d %d %d n”,a,b,c,d); 3、企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤提成。利潤I低于或等于100000元的,獎(jiǎng)金可提10%,利潤高于100000元,低于200000元(100000I=200000)時(shí),低于100000元的部分按10%提成,高于100000元的部分,可提成7.5%;200000I=400000時(shí),低于200000元的部分仍按上述辦法提成(下同),高于200000元的部分按5%提成;400

10、000I=600000元時(shí),高于400000元的部分按3%提成;600000I1000000時(shí),超過1000000元的部分按1%提成。從鍵盤輸入當(dāng)月利潤I,求應(yīng)發(fā)獎(jiǎng)金總數(shù)。要求: (1)用if 語句編程實(shí)現(xiàn); (2) 用switch語句編程實(shí)現(xiàn)。#includevoid main() long int bonus,total; scanf(“%ld”,&total); if(total=100000) bonus=total*0.10; else if(total=200000) bonus=10000+(total-100000)*0.075; else if(total=400000) b

11、onus=17500 +(total-200000)*0.05;else if(total=600000) bonus=27500 +(total-400000)*0.03; else if(total=1000000) bonus=36500 +(total-600000)*0.015; else bonus=36500+600 +(total-1000000)*0.01;printf(“%ldn”,bonus);#includevoid main() long int bonus,total; scanf(“%ld”,&total); switch(total/100000) case 0

12、: bonus=total*0.10; break; case 1: bonus=10000+(total-100000)*0.075;break; case 2: case 3: bonus=17500 +(total-200000)*0.05; break; case 4: case 5: bonus=27500 +(total-400000)*0.03; case 6: case 7: case 8: case 9:bonus=36500 +(total-600000)*0.015; break; default: bonus=36500+600 +(total-1000000)*0.0

13、1;printf(“%ldn”,bonus);1. 用迭代法求x=a1/2 。求平方根的迭代公式為: xn+1=1/2(xn+a/xn)要求前后兩次求出的x的差的絕對值小于10-5 。解:用迭代法求平方根的算法如下: (1)設(shè)定一個(gè)x的初值x0; (2)用以上公式求出x的下一個(gè)值x1; (3)再將x1代入迭代公式的右側(cè)的xn,求出x的下一個(gè)值x2; (4)如此繼續(xù)下去,直到前后兩次x的值之差的絕對值滿足要求為止。第5章程序: #include #include void main() float a,x0,x1; printf(“enter a positive number:”); scan

14、f(“%f”,&a); x0=a/2; x1=(x0+a/x0)/2; do x0=x1; x1=(x0+a/x0)/2;while(fabs(x0-x1)=1e-5); printf(“The square root of %5.2f is %8.5fn”,a,x1);2. 一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)”。例如,6的因子為1,2,3,而6=1+2+3,因此6是“完數(shù)”。編程找出1000之內(nèi)的所有“完數(shù)”,并按下面格式輸出其因子:6:its factors are 1,2,3。#includevoid main() int i,j,sum; for(i=1;i=1000;

15、i+) sum=0; for(j=1;ji;j+) if(i%j=0) sum=sum+j; if(sum=i) printf(“%d: its factors are ”, i); for(j=1;ji;j+) if(i%j=0) if(j!=1) printf(“,”);printf(“%d”,j); printf(“.n”);3. 輸出以下圖案: * * * * * * * * * * * * * * * * * * * * * * * * *程序程序: #include void main() int i,j ,k; for(i=1;i=4;i+) for(j=1;j=4-i;j+)

16、printf(“ “); for(k=1;k=2*i-1;k+) printf(“*”); printf(“n”); for(i=1;i=3;i+) for(j=1;j=i;j+) printf(“ “); for(k=1;k=7-2*i;k+)printf(“*”);printf(“n”);4 用二分法求下面方程的在(-10,10)區(qū)間的根: 2x3-4x2+3x-6=0#includevoid main() float x1=-10,x2=10,y1,y2,y,x; do y1=2*x1*x1*x1-4*x1*x1+3*x1-6; y2=2*x2*x2*x2-4*x2*x2+3*x2-6;

17、 x=(x1+x2)/2; y= 2*x*x*x-4*x*x+3*x-6; if(abs(y)1e-6) break; if(y1*y0) x2=x; if(y2*y1e-5);printf(“%f”,x);6.6 輸出所有的輸出所有的“水仙花數(shù)水仙花數(shù)”,所謂,所謂“水仙花數(shù)水仙花數(shù)”是指一個(gè)是指一個(gè)3位數(shù),其各位數(shù),其各位數(shù)字立方各等于該數(shù)本身。例如,位數(shù)字立方各等于該數(shù)本身。例如,153是一個(gè)水仙花數(shù),因?yàn)槭且粋€(gè)水仙花數(shù),因?yàn)?153=13+53+33。#includevoid main()Int i,j,k,n;printf(“anrcissus numbers are:”);for(

18、n=100;n1000;n+)i=n/100;j=n/10-i*10;k=n%10;If(n=i*i*i+j*j*j+k*k*k)printf(“%d”,n);printf(“n”);7.11 輸出以下圖案: * * * * * * * * * * * * * * * * * * * * * * * * * 利用循環(huán)來實(shí)現(xiàn)利用循環(huán)來實(shí)現(xiàn): #include void main() int i,j; for(i=1;i=6;i+) for(j=1;j=i;j+) printf(“ “); for(j=1;j=5;j+) printf(“*”); printf(“n”);用數(shù)組來實(shí)現(xiàn)用數(shù)組來實(shí)現(xiàn):

19、 #include void main() char a5=*,*,*,*,*; int i,j,k; char space= ; for(i=0;i5;i+) printf(“n”); printf(“ “); for(j=1;j=i;j+) printf(“%c”,space); for(k=0;knum為止,這時(shí)為止,這時(shí)表示表示a0到到ai-1各元素的值比各元素的值比num小,小,ai到到an-1各元各元素的值比素的值比num大。大。num應(yīng)該插到應(yīng)該插到ai-1之后、之后、ai之前。之前。 (3)將)將ai到到an-1各元素向后移一個(gè)位置。然后再將各元素向后移一個(gè)位置。然后再將num

20、放在放在ai中。中。程序:程序: #include void main() int a11=1,4,8,9,13,15,20,25,28,30; int i,j,num; printf(“該序列是:該序列是:n”); for(i=0;ia9) a10=num; else for(i=0;inum) for(j=9;j=i;j-) aj+1=aj; ai=num; break; printf(“插入數(shù)后的排序?yàn)椋翰迦霐?shù)后的排序?yàn)椋簄”); for(i=0;i11;i+) printf(“%6d”,ai); printf(“n”);7.9 有有15個(gè)數(shù)按由大到小順序存放在一個(gè)數(shù)組中,輸入一個(gè)個(gè)數(shù)按

21、由大到小順序存放在一個(gè)數(shù)組中,輸入一個(gè)數(shù),找出該數(shù)是數(shù)組中第幾個(gè)元素的值。如果該數(shù)不在數(shù)數(shù),找出該數(shù)是數(shù)組中第幾個(gè)元素的值。如果該數(shù)不在數(shù)組中,則輸出組中,則輸出“無此數(shù)無此數(shù)”。 解:解: 法法1:用順序查找法,即從第一個(gè)數(shù)開始比較,一直到最后,:用順序查找法,即從第一個(gè)數(shù)開始比較,一直到最后,看是否與某一個(gè)數(shù)相等??词欠衽c某一個(gè)數(shù)相等。 程序略。程序略。 法二:折半法。法二:折半法。 #include #define N 15 void main() int i,number,top,bott,mid,loca,aN,flag=1,sign; char c; printf(“enter data:n”); scanf(“%d”,&a0); i=1; while(i=ai-1) i+; else printf(“enter this data again:n”); printf(“n”); for(i=0;iN;i+) printf(“%d”,ai); printf(“n”); while(flag) printf(“input number to look for:”); scanf(“%d”,&number); sign=0; top=0; b

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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

提交評論