版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第5章循環(huán)結(jié)構(gòu),一個(gè)電話本程序的主菜單 問題:在完成一次操作后,如何重新出現(xiàn)菜單? 教材114頁,處理成批數(shù)據(jù)問題。,引例:,循環(huán)結(jié)構(gòu)流程,循環(huán)結(jié)構(gòu)的構(gòu)成,循環(huán)體重復(fù)執(zhí)行的操作 循環(huán)控制條件重復(fù)執(zhí)行操作的條件或結(jié)束重復(fù)執(zhí)行操作的條件 需要注意:初始狀態(tài),循環(huán)條件,每次循環(huán)后的變化,例1:求,while語句,while (表達(dá)式) 語句,流程圖,while語句,例1:求,int i=1, sum=0; while (i=100) sum=sum+i; /*也可寫為sum+=i*/ i+; printf(1+2+.+100=%dn,sum);,do-while語句,do 語句 while (表達(dá)式
2、),N-S圖,流程圖,do-while語句,例1:求,int i=1,sum=0; do sum=sum+i; i+; while(i=100); printf(1+2+.+100=%dn,sum);,例1:求,練習(xí)1:輸入10個(gè)數(shù)求和 練習(xí)2:求 n! = 1 * 2 * * n,計(jì)算機(jī)最擅長(zhǎng)的工作之一:累加求和,for語句的基本格式,for (表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句,for語句的常用形式,for (循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值) 語句,for語句,例1:求,int i,sum=0; for (i=1;i=100;i+) sum=sum+i; printf(1+2+.
3、+100=%dn,sum);,for語句,例1:求,問題的擴(kuò)展: (1) 求 1 100 間奇數(shù)的和 (2) 任意輸入一組10個(gè)數(shù),求它們的和 (3) 任意輸入一個(gè)正整數(shù)n,求1+2+n (4) 任意輸入一個(gè)正整數(shù)n,求n!,for語句,例1:求,問題的擴(kuò)展: (1) 求 1 100 間奇數(shù)的和,int i,sum=0; for (i=1;i=100;i=i+2) sum=sum+i; printf(1+3+.+99=%dn,sum);,int i,sum=0; for (i=1;i=100;i+) if(i%2=1)sum=sum+i; printf(1+3+.+99=%dn,sum);,f
4、or語句,例1:求,問題的擴(kuò)展: (2) 任意輸入一組10個(gè)數(shù),求它們的和,int i; float x,sum=0; for (i=1;i=5;i+) scanf(%f,for語句,例1:求,問題的擴(kuò)展: (3) 任意輸入一個(gè)正整數(shù)n,求1+2+n,int i,n,sum=0; printf(n=); scanf(%d,for語句,例1:求,問題的擴(kuò)展: (4) 任意輸入一個(gè)正整數(shù)n,求n!,int i,n; double fac=1; printf(n=); scanf(%d,考慮到階乘值的范圍,需要雙精度才能夠保存。但同時(shí)應(yīng)注意,雙精度類型的有效位數(shù)是15位,當(dāng)n值較大時(shí),其計(jì)算結(jié)果還是
5、有誤差的。,for語句,例2:輸入10個(gè)成績(jī),求最大值。,int i,x,max; max=0; for (i=1;imax) max=x; printf(max=%dn,max);,考慮: 求最小值,for語句,例2:輸入10個(gè)成績(jī),求最大值。,#include #include #include int main() int i,x,max; srand(unsigned) time(NULL); max=0; for (i=1;imax) max=x; printf(max=%dn,max); return 0; ,為方便調(diào)試程序,引入隨機(jī)函數(shù),減少輸入數(shù)據(jù)的繁瑣。 參見補(bǔ)充閱讀材料。,
6、循環(huán)嵌套,例3:顯示1!,2!,.,10!,int i, n, fac; for (n=1;n=10;n+) fac=1; for(i=1;i=n;i+) fac=fac*i; printf(%d!=%ldn,n,fac); ,循環(huán)嵌套,例4:求,int i,n, fac,sum=0; for (n=1;n=10;n+) fac=1; for (i=1;i=n;i+) fac=fac*i; sum=sum+fac; printf (1!+2!+.+10!=%ldn,sum);,循環(huán)嵌套,例4:求,int n,fac,sum=0; for (fac=1,n=1;n=10;n+) fac=fac*
7、n; sum=sum+fac; printf (1!+2!+.+10!=%ldn,sum);,又一種方法,利用階乘的遞推關(guān)系:n!=n*(n-1)! (n1),只需要一層循環(huán)。,例5:顯示九九乘法表,int i, j; for (i=1; i=9; i+) for (j=1; j=i; j+) printf(%d*%d=%2d , i, j, i*j); printf(n); ,改變循環(huán)狀態(tài),break語句退出循環(huán) 通常與選擇結(jié)構(gòu)配合,改變循環(huán)狀態(tài),continue語句 結(jié)束本次循環(huán) 通常與選擇結(jié)構(gòu)配合,概念:素?cái)?shù)(質(zhì)數(shù))是只能被1和本身整除的正整數(shù) 算法:對(duì)于正整數(shù)m(m2),用2m-1中的
8、每一個(gè)正整數(shù)i去除m,只要有一個(gè)能夠整除,就不是素?cái)?shù),例2.5是算法分析;例2.10是不好的流程圖;例2.15是其改進(jìn),以及N-S圖。 例5.9的流程圖與例2.15有一點(diǎn)兒不同。,教材例5.9 輸入正整數(shù),判斷是否素?cái)?shù),算法改進(jìn):用2m去除m,提高效率,例5.9 輸入一個(gè)正整數(shù),判斷是否素?cái)?shù) 擴(kuò)展:,例5.10 顯示區(qū)間 100,200 內(nèi)的所有素?cái)?shù),人的解決方法列方程求解 設(shè)有雞C只,兔R只,例6:雞兔問題籠中有雞、兔,頭共H個(gè),腳共F只。問有雞、兔各幾只?,例6:雞兔問題,計(jì)算機(jī)的解決方法將各種可能情況逐個(gè)試算,找到符合要求的結(jié)果,設(shè)雞C只(0CH) 若兔0只,則腳有.只 若兔1只,則腳有
9、.只 若兔2只,則腳有.只 . 若兔H只,則腳有.只,例6:雞兔問題,計(jì)算機(jī)的解決方法將各種可能情況逐個(gè)試算,找到符合要求的結(jié)果,雞0只,兔H只,則腳有.只F 雞1只,兔H-1只,則腳有.只F 雞2只,兔H-2只,則腳有.只 F . 雞C只,兔H-C只,則腳有.只=F,顯示結(jié)果 . 雞H只,兔0只,則腳有.只 F,例6:雞兔問題,計(jì)算機(jī)的解決方法將各種可能情況逐個(gè)試算,找到符合要求的結(jié)果,雞0只,兔H只,則腳有.只F 雞1只,兔H-1只,則腳有.只F 雞2只,兔H-2只,則腳有.只 F . 雞C只,兔H-C只,則腳有.只=F,顯示,結(jié)束 . 雞H只,兔0只,則腳有.只 F,例6:雞兔問題,int heads,feet,chicken,rabbit; printf(heads=); scanf(%d, ,閱讀程序練習(xí)for語句的靈活運(yùn)用,int value; for(value=36;value0;value/=2) printf(%3d,value);,int value; value=36; for( ;value0;value/=2) printf(%3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年注冊(cè)城鄉(xiāng)規(guī)劃師實(shí)務(wù)真題(含答案)
- 某發(fā)動(dòng)機(jī)廠技術(shù)創(chuàng)新激勵(lì)方案
- 某量具廠二次元檢測(cè)實(shí)施細(xì)則
- 2026年建筑行業(yè)創(chuàng)新報(bào)告與人工智能技術(shù)發(fā)展前景
- 鉆井司機(jī)長(zhǎng)(柴油機(jī)工、發(fā)電工)崗位HSE應(yīng)知應(yīng)會(huì)試題庫(含答案)
- 中醫(yī)兒科學(xué)試題庫附參考答案
- 初中物理能量轉(zhuǎn)化效率測(cè)量與節(jié)能環(huán)保意識(shí)培養(yǎng)課題報(bào)告教學(xué)研究課題報(bào)告
- 高中生利用高效液相色譜-質(zhì)譜聯(lián)用法分析零食中防腐劑山梨酸鉀含量課題報(bào)告教學(xué)研究課題報(bào)告
- 2026廣東清遠(yuǎn)市清城區(qū)信訪局招聘聘員2人備考題庫帶答案詳解(突破訓(xùn)練)
- 2026上半年安徽事業(yè)單位聯(lián)考池州市招聘63人備考題庫附參考答案詳解(達(dá)標(biāo)題)
- 2025大模型安全白皮書
- 2026國(guó)家國(guó)防科技工業(yè)局所屬事業(yè)單位第一批招聘62人備考題庫及1套參考答案詳解
- 工程款糾紛專用!建設(shè)工程施工合同糾紛要素式起訴狀模板
- 2026湖北武漢長(zhǎng)江新區(qū)全域土地管理有限公司招聘3人筆試備考題庫及答案解析
- 110(66)kV~220kV智能變電站設(shè)計(jì)規(guī)范
- (正式版)DB44∕T 2784-2025 《居家老年人整合照護(hù)管理規(guī)范》
- 2025年美國(guó)心臟病協(xié)會(huì)心肺復(fù)蘇和心血管急救指南(中文完整版)
- 1、湖南大學(xué)本科生畢業(yè)論文撰寫規(guī)范(大文類)
- 基于多源數(shù)據(jù)融合的深圳市手足口病時(shí)空傳播模擬與風(fēng)險(xiǎn)預(yù)測(cè)模型構(gòu)建及應(yīng)用
- 2025初三歷史中考一輪復(fù)習(xí)資料大全
- 2025年江西公務(wù)員考試(財(cái)經(jīng)管理)測(cè)試題及答案
評(píng)論
0/150
提交評(píng)論