C語言程序設計第四版第五章答案-譚浩強(共4頁)_第1頁
C語言程序設計第四版第五章答案-譚浩強(共4頁)_第2頁
C語言程序設計第四版第五章答案-譚浩強(共4頁)_第3頁
C語言程序設計第四版第五章答案-譚浩強(共4頁)_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第五章循環控制 5.3輸入兩個正整數m和n,求其最大公約數和最小公倍數。 main() long m,n,i=1,j,s; scanf(%ld,%ld,&m,&n); for(;i=m&i=n) j=m; else j=n; for(;!(j%m=0&j%n=0);j+); printf(s=%ld,j=%ldn,s,j); 5.4輸入一行字符,分別統計出其中英文字母、空格、數字和其他字符的個數。 #includestdio.h main() char c;int i=0,j=0,k=0,l=0; while(c=getchar()!=n) if(c=65&c=97&c=48&c=57) j+

2、; else if(c=32) k+; else l+; printf(i=%d,j=%d,k=%d,l=%dn,i,j,k,l); 5.5求Sn=a+aa+aaa+aaaaa(有n個a)之值,其中a是一個數字。例如:2+22+222+2222+22222(n=5),n由鍵盤輸入。 #includemath.h main() int n,sum=0,i=1,s=2; scanf(%d,&n); while(i=n) sum=sum+s;s=s+2*pow(10,i); i+; printf(sum=%dn,sum); 5.6求 ,(即求1!+2!+3!+4!+5!+20!) main() in

3、t n,i=1;long sum=0,s=1; scanf(%d,&n); while(i=n) s=s*i;sum=sum+s;i+; printf(sum=%ldn,sum); 5.7求 main() double i=1,j=1,k=1,s1=0,s2=0,s3=0,sum; for(;i=100;i+) s1=s1+i; for(;j=50;j+) s2=s2+j*j; for(;k=100&x1000) a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b; if(x=(pow(a,3)+pow(b,3)+pow(c,3) printf(%5d,x);x+;

4、 5.9一個數如果恰好等于它的因子之和,這個數就稱為完數。例如,6的因子為1、2、3,而6=1+2+3,因此6是完數。編程序找出1000之內的所有完數,并按下面格式輸出其因子: 6itsfactorsare1、2、3 main() int m,i,j,s; for(m=6;m10000;m+) s=1; for(i=2;im;i+) if(m%i=0) s=s+i; if(m-s=0) printf(%5d its fastors are 1 ,m);for(j=2;jm;j+) if(m%j=0) printf(%d ,j);printf(n); 或 main() int m,i,j,s;

5、for(m=6;m1000;m+) s=m-1; for(i=2;im;i+) if(m%i=0) s=s-i; if(s=0) printf(%5d its fastors are 1 ,m);for(j=2;jm;j+) if(m%j=0) printf(%d ,j);printf(n); 5.10有一分數序列: 求出這個數列的前20項之和。 main() int i=1,n;double t,x=1,y=2,s,sum=0; scanf(%ld,&n); while(i=n) s=y/x;sum=sum+s;t=y;y=y+x;x=t;i+; printf(%fn,sum); 5.11一

6、球從100米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第10次落地時共經過多少米?第10次反彈多高? main() int i,n;double h=100,s=100; scanf(%d,&n); for(i=1;i=n;i+) h*=0.5;if(i=1) continue;s=2*h+s; printf(h=%f,s=%fn,h,s); 5.12猴子吃桃問題。猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個。第二天早上又將剩下的桃子吃掉一半,又多吃一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘多少桃子。

7、 main() int i=1,sum=0; for(;i=0.00001); printf(%.3fn,x1); 5.14 用牛頓迭代法求方程在1.5附近的根。 main() double x,y;x=1.5; doy=2*x*x*x-4*x*x+3*x-6; x=x-y/(6*x*x-8*x+3); while(y!=0); printf(x=%.3fn,x); 5.15用二分法求方程在(-10,10)之間的根 main() double x1,x2,y1,y2;x1=-10;x2=10; doy1=2*x1*x1*x1-4*x1*x1+3*x1-6; x1=x1-y1/(6*x1*x1-8*x1+3); while(y1!=0); do y2=2*x2*x2*x2-4*x2*x2+3*x2-6; x2=x2-y2/(6*x2*x2-8*x2+3); while(y2!=0); printf(x1=%.3f,x2=%.3fn,x1,x2); 5.16打印以下圖案 * * * * * * * * * * * * * * * * * * * * * * * * * #includemath.h main() int i,j,k; for(i=0;i=3;i+) for(j=0;j=2-i;j+) printf( ); f

溫馨提示

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

評論

0/150

提交評論