C語言 do...while語句.ppt_第1頁
C語言 do...while語句.ppt_第2頁
C語言 do...while語句.ppt_第3頁
C語言 do...while語句.ppt_第4頁
C語言 do...while語句.ppt_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、do.while語句,直到型循環(huán),知識點(diǎn)學(xué)習(xí),注意要點(diǎn): (1)dowhile結(jié)構(gòu)末尾,有分號。 (2)執(zhí)行過程:先執(zhí)行一遍循環(huán)體語句,再判斷條件,若條件為真,繼續(xù)執(zhí)行循環(huán)體語句,再判斷條件,直到條件為假為止。,實(shí)訓(xùn)1:求的值 ,其中n由用戶輸入。請分別用while語句和dowhile語句編寫程序代碼,1.定義n放用戶輸入數(shù);定義循環(huán)變量i,i初值為1;定義sum放累加和,sum初值為0。 2.循環(huán)條件為i=n,每次i加1 3.循環(huán)的過程中,sum=sum+i*i,用while實(shí)現(xiàn)的代碼如下:,#include int main() /1.定義n,定義i作循環(huán)變量,初值為1,定義sum放累加和

2、,初值為0 long n,i=1,sum=0; /2.用戶輸入n值 printf(請輸入正整數(shù)n:); scanf(%ld, ,用dowhile實(shí)現(xiàn)的代碼如下:,#include int main() /1.定義n,定義i作循環(huán)變量,初值為1,定義sum放累加和,初值為0 long n,i=1,sum=0; /2.用戶輸入n值 printf(請輸入正整數(shù)n:); scanf(%ld, ,實(shí)訓(xùn)2:用dowhile語句計算數(shù)列1/2、2/3、3/5、5/8、8/13、的前10項(xiàng)和,通過觀察得知:前一個數(shù)的分子分母和變成了下一個數(shù)的分母,前一個數(shù)的分母變成了下一個數(shù)的分子。 1.定義double f

3、enzi,fenmu兩個變量分別表示分子和分母,分子的初值是1分母的初值是2定義sum放累加和。定義i為循環(huán)變量 2.做循環(huán),共循環(huán)10次,求出累加和 3.循環(huán)的過程中:前一個數(shù)的分子分母和變成了下一個數(shù)的分母,前一個數(shù)的分母變成了下一個數(shù)的分子。 注意:要定義一個變量temp將上一次的分母暫時放起來,代碼如下:,#include int main() double sum=0,fenzi=1,fenmu=2,temp; int i=1; do sum=sum+fenzi/fenmu; temp=fenmu; fenmu=fenzi+fenmu; fenzi=temp; i+; while(i

4、=10); printf(%lf,sum); return 0; ,實(shí)訓(xùn)3:用dowhile語句計算 滿足的最大n值,算法分析: 1.定義循環(huán)變量i,i初值為1;定義sum放累加和,sum初值為0。 2.循環(huán)結(jié)束條件為sum1000 3.輸出i值即可,#include int main() /1.定義循環(huán)變量i,i從1開始循環(huán) /2.定義sum放累加和 int i=0; int sum=0; do sum=sum+i*i; i+; while(sum1000); /3.循環(huán)條件是累加和sum1000 /4.求得的i-1才是n值,因?yàn)榍笸昀奂雍秃?,i的值又加了1。所有i用減去1才得n值 prin

5、tf(n的最大值是:%dn,i-1); return 0; ,代碼如下:,實(shí)訓(xùn)4:有一張厚度為0.1mm的紙,假設(shè)它足夠大,重復(fù)將其對折,問對折多少次之后,其厚度可以達(dá)到珠穆朗瑪峰的高度(8848180mm)?用dowhile語句實(shí)現(xiàn)。,提示:對折一張紙,實(shí)質(zhì)就是厚度乘以2,次數(shù)加1. 1.定義h表示厚度,h為循環(huán)變量,初值為0.1;定義count表示對折次數(shù),count初值為0 2.循環(huán)的條件為h8848180 3.循環(huán)的過程中h=h*2 count=count+1,#include int main() double h=0.1; int count=0; do h=h*2; count=

6、count+1; while(h8848180); printf(對折%d次后其厚度可以達(dá)到珠穆朗瑪峰的高度, count); return 0; ,代碼如下:,思考題: 猴子吃桃問題。猴子第1天摘下若干個桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個。第2天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半加一個。到第10天早上想再吃時,就只剩下一個桃子了。求第1天共摘了多少個桃子。,提示:設(shè)第1天摘了n個桃子, 第2天早上:吃掉的桃子:n/2+1,剩下的桃子:m=n-(n/2+1)=n/2-1 因此得到:后面1天的桃子數(shù)m和前一天桃子數(shù)n的關(guān)系是:n=(m+1)*2 第10天的桃子:1 第9天的桃子:(1+1)*2=4 第8天的桃子:(4+1)*2=10 一共循環(huán)幾次? =10,#include int main() /1.定義第10天的桃子數(shù)和第9天的桃子數(shù) int i=1,m=1,n; /2.做9次循環(huán)可以退到第1天的桃子數(shù) while(i=9) /3.n是第9天的桃子數(shù) n=(m+1)*2; /4

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論