C語言實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)四參考答案

上傳人:xia****ai 文檔編號:159635210 上傳時(shí)間:2022-10-09 格式:DOC 頁數(shù):7 大?。?.52MB
收藏 版權(quán)申訴 舉報(bào) 下載
C語言實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)四參考答案_第1頁
第1頁 / 共7頁
C語言實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)四參考答案_第2頁
第2頁 / 共7頁
C語言實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)四參考答案_第3頁
第3頁 / 共7頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《C語言實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)四參考答案》由會員分享,可在線閱讀,更多相關(guān)《C語言實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)四參考答案(7頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、n 實(shí)驗(yàn)四 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 2(參考答案) (1)編寫程序 sy4-1.c,輸入 n,計(jì)算并輸出如下多項(xiàng)式的值:S =1+1/2!+1/3!+1/4!+…+1/n!。例如輸入 n 為 15 時(shí),輸出 1.718282。 算法分析: 第一項(xiàng)可以看成 1/1!,用循環(huán)控制累加 n 個(gè)分式,分式的分母是 i!,分子固定為 1。 參考答案: # include void main() { double s=0,p=1; int i,n; scanf("%d",&n); for(i=1;i<=n;i++) { p = p * i ; s = s

2、 + 1 / p ; } printf("s=%lf\n",s); } 運(yùn)行結(jié)果: //計(jì)算分母 i! //累加 (2)編寫程序 sy4-2.c,輸入 n,根據(jù)以下公式計(jì)算 s: 時(shí),結(jié)果為 1.833333。 算法分析: 該多項(xiàng)式的分母是累加。 參考答案: # include void main() { double sn=0,s=0; int i,n; scanf("%d",&n); for(i=1;i<=n;i++) { s = s + i ; //計(jì)算分母 1~i 的累加和 sn = sn + 1 / s ; } pr

3、intf("sn=%lf\n",sn); }  ,例如當(dāng) n=11 運(yùn)行結(jié)果: (3)編寫程序 sy4-3.c,計(jì)算 3~n 之間所有素?cái)?shù)的平方根之和,要求:輸入 n,輸出結(jié)果。例如,輸入 n 的值是 100,則輸出結(jié)果是 148.874270。注意 n 應(yīng)在 2~100 之間。 算法分析: 窮舉 3~n 之間的數(shù)找素?cái)?shù),若是素?cái)?shù)則累加她的平方根。 參考答案: # include # include void main() { int i,j,n,flag; double s=0; scanf("%d",&n

4、); for(i=3;i

5、序 sy4-4.c,根據(jù)以下公式求 p 的值, m=12,n=8 時(shí),結(jié)果為 495.000000。 算法分析: 用 p1,p2,p3 分別求 m!,n!,(m-n)!。 參考答案: # include void main() { int i,m,n;  (m 與 n 為兩個(gè)正整數(shù)且 m>n)。例如,當(dāng) double p1=1,p2=1,p3=1,p; printf("Input m,n(m>n):"); scanf("%d%d",&m,&n); for(i=1;i<=m;i++) p1=p1*i; for(i=1;i<=n;i++)

6、 p2=p2*i;  //計(jì)算 m! //計(jì)算 n! for(i=1;i<=m-n;i++) //計(jì)算(m-n)! p3=p3*i; p=p1/(p2*p3); printf("p=%f\n",p); } 運(yùn)行結(jié)果: (5)編寫程序 sy4-5.c,求出 Fibonacci 數(shù)列中大于 t 的最小數(shù)。例如輸入 t 為 1000 時(shí),應(yīng)輸出 1597。 算法分析: 用迭代法計(jì)算 Fibonacci 數(shù)列,第一項(xiàng) f1=1,第二項(xiàng) f2=1,第三項(xiàng) f3=f1+f2。f3 若小于等于 t,則繼 續(xù)迭代 f1=f2,f2=f3,f3=f1+f2… 參考答案:

7、 # include void main() { int t,f1=1,f2=1,f3=f1+f2; printf("Input t:"); scanf("%d",&t); while( f3 <= t ) { f1=f2; f2=f3; f3=f1+f2; } printf("Fibonacci 數(shù)列中大于%d 的最小數(shù)是:%d\n",t,f3); } 運(yùn)行結(jié)果: (選做)(6)編寫程序,輸入 n,根據(jù)以下公式計(jì)算 S:S=1+(1+20.5  )+(1+20.5+30.5  )+…+(1+20.5+30.5  +…

8、+n0.5) , 例如當(dāng) n 的值為 20 時(shí),則應(yīng)輸出 s=534.188884。 算法分析: 該數(shù)列第一項(xiàng)確定為 1,從第二項(xiàng)開始每一項(xiàng)為前一項(xiàng)加 pow(i,0.5),i 的范圍從 2~n 。 參考答案: # include # include void main() { double sn=1,s=1; int i,n; printf("Input n:"); scanf("%d",&n); for(i=2;i<=n;i++) //第 1 項(xiàng)已初始化在 sn 變量中,所以從第 2 項(xiàng)開始累加 { s = s +

9、 pow(i,0.5) ; //計(jì)算第 i 項(xiàng)的值 sn = sn + s ; } printf("sn=%f\n",sn); } 運(yùn)行結(jié)果: //累加第 i 項(xiàng) (選做)(7)編寫程序,輸入 n,求小于 n 并能同時(shí)被 3 和 7 整除的所有自然數(shù)之和的平方根。若 n 為 1000 時(shí), 應(yīng)輸出 153.909064。 算法分析: 窮舉 3~n 之間滿足能同時(shí)被 3 和 7 整除的自然數(shù)累加,最后輸出累加和的平方根即可。 參考答案: # include # include void main() { int s

10、=0; //存儲滿足條件的自然數(shù)之和的累加器,初值為 0 int n,i; printf("Input n:"); scanf("%d",&n); for(i=3;i

11、之和,判斷其是否等于 x,若是,則輸出并同時(shí)計(jì)數(shù)器加 1。 參考答案: # include void main() { int n=0,i,a,b,c,x; //n 是計(jì)數(shù)器變量,要賦初值 0 printf("Input x:"); scanf("%d",&x); //輸入 x for(i=100;i<=999;i++) //用 for 循環(huán)窮舉 100~999 之間每一個(gè)數(shù) { a=i%10; //分解個(gè)位 b=i/10%10; //分解十位 c=i/100; if( a+b+c == x ) { //分解百位 print

12、f("%5d",i); //輸出 i n++; //計(jì)數(shù)器加 1 if(n%10==0) printf("\n"); } } printf("\n 一共有 %d 個(gè)符合條件的數(shù).\n" , n ) ; } 運(yùn)行結(jié)果: (選做)(9)編寫程序,輸入兩個(gè)正整數(shù) m 和 n,求其最大公約數(shù)和最小公倍數(shù)。 算法分析: 用“輾轉(zhuǎn)相除取余法”求最大公約數(shù),即 r=m%n,若 r==0,則找到 n 是 m,n 的最大公約數(shù);若 r!=0, 則 m=n,n=r,重新計(jì)算 r=m%n 。最小公倍數(shù)用 m,n 的原始乘積除以最大公約數(shù)即可得。 參考答案: # include

13、 void main() { int m,n,r,p; printf("Input m,n:"); scanf("%d%d",&m,&n); p=m*n; //因?yàn)橹?m,n 的值會變,所以用 p 存原始乘積 r=m%n; //首次求兩數(shù)的余數(shù),不用比大小 while(r!=0) //若余數(shù)為 0,則找到 n 是最大公約數(shù),反之,繼續(xù)迭代 { m=n; //除數(shù)變被除數(shù) n=r; //余數(shù)便除數(shù) r=m%n; //計(jì)算新的余數(shù) } printf("最大公約數(shù)是:%d\n", n ); printf("最小公倍數(shù)是:%d\n", p/n ) ; }

14、 運(yùn)行結(jié)果: (選做)(10)編寫程序,中國古代數(shù)學(xué)家張丘建在他的《算經(jīng)》中提出了著名的“百錢買百雞問題:”雞翁一, 值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問翁、母、雛各幾何?請編程解決該問題。 算法分析: 設(shè)雞翁、雞母、雞雛的個(gè)數(shù)分別為 x,y,z,題意給定共 100 錢要買百雞,若全買公雞最多買 20 只,顯 然 x 的值在 0~20 之間,用 for 循環(huán)窮舉 x 的可能值;同理,y 的取值范圍在 0~33 之間,用嵌套內(nèi)部 for 循 環(huán)窮舉 y 的可能值;因此小雞的數(shù)目則是 100-x-y。若購買這些雞的錢正好是 100,則輸出 x,y,z,注意小雞 的數(shù)目必須是 3 的整數(shù)倍。 參考答案: # include void main() { int x,y,z; for(x=0;x<=20;x++) for(y=0;y<=33;y++) { //窮舉公雞數(shù)量的可能范圍 //窮舉母雞數(shù)量的可能范圍 z=100-x-y; //在公雞、母雞數(shù)量確定的情況下,小雞的數(shù)量 if( z%3 == 0 && 5*x+3*y+z/3 == 100 ) //若錢是 100,則輸出該組合 printf("公雞:%d 母雞:%d 小雞:%d\n",x,y,z); } } 運(yùn)行結(jié)果:

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲