




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)二級(jí)循環(huán)結(jié)構(gòu)課件第1頁,共38頁,2023年,2月20日,星期四3.4循環(huán)結(jié)構(gòu)循環(huán)算法研究:
迭代和窮舉是兩類具有代表性的基本循環(huán)算法1.迭代迭代是一個(gè)不斷用新值取代變量的舊值,或由舊值遞推出變量的新值的過程。第2頁,共38頁,2023年,2月20日,星期四1.迭代例如1:人口增長(zhǎng)問題。
按照每年0.2%的增長(zhǎng)速度,我國(guó)現(xiàn)有13億人口,10年后將有多少人?設(shè)我國(guó)現(xiàn)有人口為m,則第1年后人口數(shù)變?yōu)椋簃=m*(1+0.2%);即將m的值用m*(1+0.2%)替代第2年后,在執(zhí)行一次上述的替代;第10年后,就把上述的替代執(zhí)行10次;注意:迭代要素:(1)初值(2)迭代公式(3)迭代終止條件第3頁,共38頁,2023年,2月20日,星期四1.迭代例如2:兔子繁殖問題。設(shè)有一對(duì)新生兔子,從第三個(gè)月開始他們每月都生育一對(duì)小兔子。按此規(guī)律,并假設(shè)沒有兔子死亡,一年后將共有多少對(duì)兔子?
1,1,2,3,5,8,13,21,34,……迭代要素:(1)初值fib1=fib2=1
(2)迭代公式fibn=fibn-1+fibn-2
(3)迭代終止條件n小于等于12第4頁,共38頁,2023年,2月20日,星期四3.4循環(huán)結(jié)構(gòu)循環(huán)算法研究:
迭代和窮舉是兩類具有代表性的基本循環(huán)算法2.窮舉窮舉是對(duì)問題所有可能狀態(tài)逐一測(cè)試,直至找到解或?qū)⑷靠赡軤顟B(tài)都測(cè)試完成為止。第5頁,共38頁,2023年,2月20日,星期四例如1:分類輸出100以內(nèi)的奇數(shù)和偶數(shù)?例如2:百錢百雞問題。我國(guó)古代有一道有名的數(shù)學(xué)問題,即百錢買百雞的問題:雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問雞翁、雞母、雞雛各幾何?第6頁,共38頁,2023年,2月20日,星期四#include"stdio.h"main(){intcocks,hens,chicks;cocks=0;
while(cocks<=19){hens=0;
while(hens<=33){
chicks=100-cocks-hens;if(5*cocks+3*hens+chicks/3==100&&chicks%3==0)printf("\t公雞=%d,母雞=%d,小雞=%d\n",cocks,hens,chicks);hens=hens+1;}cocks=cocks+1;}}第7頁,共38頁,2023年,2月20日,星期四3.4.1while循環(huán)語句第8頁,共38頁,2023年,2月20日,星期四第9頁,共38頁,2023年,2月20日,星期四第10頁,共38頁,2023年,2月20日,星期四第11頁,共38頁,2023年,2月20日,星期四例:讀程序第12頁,共38頁,2023年,2月20日,星期四例如:人口增長(zhǎng)問題。
按照每年0.2%的增長(zhǎng)速度,我國(guó)現(xiàn)有13億人口,10年后將有多少人?#include"stdio.h"voidmain(){doublem=13;inti=1;while(i<=10){
m=m*(1+0.002);i++;
}printf(“10年后的人口為%f”,m);}
第13頁,共38頁,2023年,2月20日,星期四#include"stdio.h"main(){intcocks,hens,chicks;cocks=0;
while(cocks<=19){hens=0;
while(hens<=33){
chicks=100-cocks-hens;if(5*cocks+3*hens+chicks/3==100&&chicks%3==0)printf("\t公雞=%d,母雞=%d,小雞=%d\n",cocks,hens,chicks);hens=hens+1;}cocks=cocks+1;}}第14頁,共38頁,2023年,2月20日,星期四/*兔子繁殖問題或稱為斐波那契數(shù)列*/#include"stdio.h"voidmain(){ intn,k=3,a1=1,a2=1,h=0;/*h為第n月兔子總對(duì)數(shù)*/ printf("請(qǐng)輸入月份:"); scanf("%d",&n); printf("\n第%d月有%d對(duì)兔子",1,1); printf("\n第%d月有%d對(duì)兔子",2,1); while(k<=n) { h=a1+a2; printf("\n第%d月有%d對(duì)兔子",k,h); a1=a2; a2=h; k++; }}第15頁,共38頁,2023年,2月20日,星期四3.4.2do--while循環(huán)語句第16頁,共38頁,2023年,2月20日,星期四第17頁,共38頁,2023年,2月20日,星期四3.4.3for循環(huán)語句第18頁,共38頁,2023年,2月20日,星期四例:計(jì)算1到100的和main(){int
sum=0,n;for(n=1;n<=100;n++)sum=sum+n;
printf("sum=%d",sum);}第19頁,共38頁,2023年,2月20日,星期四第20頁,共38頁,2023年,2月20日,星期四第21頁,共38頁,2023年,2月20日,星期四第22頁,共38頁,2023年,2月20日,星期四第23頁,共38頁,2023年,2月20日,星期四第24頁,共38頁,2023年,2月20日,星期四第25頁,共38頁,2023年,2月20日,星期四#include"stdio.h"main(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++) printf("%d*%d=%2d",i,j,i*j); printf("\n");}}第26頁,共38頁,2023年,2月20日,星期四3.4.4break語句和continue語句
注意:break語句不能用于循環(huán)語句和switch語句之外的任何其他語句中。
break語句(1)break語句作用是跳出switch語句或跳出本層循環(huán),轉(zhuǎn)去執(zhí)行后面的下一條語句。由于break語句的轉(zhuǎn)移方向是明確的,所以不需要語句標(biāo)號(hào)與之配合。(2)break語句的形式為:break;
第27頁,共38頁,2023年,2月20日,星期四例如:判斷一個(gè)數(shù)是否為素?cái)?shù)?#include"stdio.h"voidmain(){ intn,i; printf(“請(qǐng)輸入一個(gè)數(shù):");scanf("%d",&n);for(i=2;i<n;i++) if(n%i==0)break;if(i<n)printf(“\n%d不是素?cái)?shù)",n);elseprintf(“\n%d是素?cái)?shù)",n);}第28頁,共38頁,2023年,2月20日,星期四2.continue語句
continue語句只能用在循環(huán)體中。(1)功能:continue語句只能用在循環(huán)體中,結(jié)束本次循環(huán),即不再執(zhí)行循環(huán)體中continue語句之后的語句,轉(zhuǎn)入下一次循環(huán)條件的判斷與執(zhí)行。應(yīng)注意的是,本語句只結(jié)束本層次的循環(huán),并不跳出循環(huán)。(2)語句格式:continue;3.4.4break語句和continue語句
第29頁,共38頁,2023年,2月20日,星期四第30頁,共38頁,2023年,2月20日,星期四continue語句和break語句的區(qū)別continue語句只結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)的執(zhí)行。
break語句則是結(jié)束整個(gè)循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立。
4.3break語句和continue語句
第31頁,共38頁,2023年,2月20日,星期四三、goto語句(無條件轉(zhuǎn)向語句)格式:goto標(biāo)號(hào)標(biāo)識(shí)符功能:執(zhí)行該語句時(shí),將程序流程無條件地轉(zhuǎn)向指定標(biāo)號(hào)所在的語句繼續(xù)執(zhí)行。標(biāo)號(hào)由數(shù)字,字母,下劃線組成例如:gotoloop_3;合法;goto123;不合法.3.4.4break語句和continue語句
第32頁,共38頁,2023年,2月20日,星期四
main()
{int
sum=0,i=1;loop1:sum=sum+i;i++;if(i<=100)gotoloop1;printf("sum=%d",sum);}例用if語句和goto語句構(gòu)成循環(huán),求1到100的和運(yùn)行結(jié)果:505
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中三年如何規(guī)劃:從高一到高三的全程指南
- 2024年工藝氣體壓縮機(jī)資金籌措計(jì)劃書代可行性研究報(bào)告
- 海外醫(yī)療記錄租賃與安全保障合同
- 跨境電商物流配送車隊(duì)委托國(guó)際化經(jīng)營(yíng)管理合同
- 新能源汽車電池租賃保險(xiǎn)理賠及責(zé)任追溯協(xié)議
- 自貿(mào)區(qū)金融輔助崗位員工職業(yè)發(fā)展與繼任計(jì)劃協(xié)議
- 2025年中國(guó)半干蘋果酒禮盒行業(yè)市場(chǎng)前景預(yù)測(cè)及投資價(jià)值評(píng)估分析報(bào)告
- 抖音內(nèi)部創(chuàng)作者競(jìng)爭(zhēng)合作約束管理協(xié)議
- 股權(quán)期權(quán)激勵(lì)與人工智能產(chǎn)業(yè)發(fā)展協(xié)議
- 影視化妝間租賃與化妝間租賃及化妝師培訓(xùn)合同
- 鋼材授權(quán)合同協(xié)議
- 小學(xué)生朗讀指導(dǎo)課件
- DB32-T 5079-2025 城鎮(zhèn)供水水表安裝及維護(hù)技術(shù)規(guī)程
- 種畜禽場(chǎng)管理制度類
- 雷雨劇本文件完整版電子書下載
- 外墻保溫施工考核試卷
- 儲(chǔ)料倉(cāng)施工方案
- 風(fēng)機(jī)葉片故障診斷-深度研究
- 新版統(tǒng)編版七年級(jí)下冊(cè)道德與法治四單元課件 11.1 法不可違
- 燒烤店員工培訓(xùn)
- 2025年全球及中國(guó)智能艾灸服務(wù)機(jī)器人行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
評(píng)論
0/150
提交評(píng)論