計算機(jī)二級 循環(huán)結(jié)構(gòu)_第1頁
計算機(jī)二級 循環(huán)結(jié)構(gòu)_第2頁
計算機(jī)二級 循環(huán)結(jié)構(gòu)_第3頁
計算機(jī)二級 循環(huán)結(jié)構(gòu)_第4頁
計算機(jī)二級 循環(huán)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機(jī)二級循環(huán)結(jié)構(gòu)課件第一頁,共三十八頁,2022年,8月28日3.4循環(huán)結(jié)構(gòu)循環(huán)算法研究:

迭代和窮舉是兩類具有代表性的基本循環(huán)算法1.迭代迭代是一個不斷用新值取代變量的舊值,或由舊值遞推出變量的新值的過程。第二頁,共三十八頁,2022年,8月28日1.迭代例如1:人口增長問題。

按照每年0.2%的增長速度,我國現(xiàn)有13億人口,10年后將有多少人?設(shè)我國現(xiàn)有人口為m,則第1年后人口數(shù)變?yōu)椋簃=m*(1+0.2%);即將m的值用m*(1+0.2%)替代第2年后,在執(zhí)行一次上述的替代;第10年后,就把上述的替代執(zhí)行10次;注意:迭代要素:(1)初值(2)迭代公式(3)迭代終止條件第三頁,共三十八頁,2022年,8月28日1.迭代例如2:兔子繁殖問題。設(shè)有一對新生兔子,從第三個月開始他們每月都生育一對小兔子。按此規(guī)律,并假設(shè)沒有兔子死亡,一年后將共有多少對兔子?

1,1,2,3,5,8,13,21,34,……迭代要素:(1)初值fib1=fib2=1

(2)迭代公式fibn=fibn-1+fibn-2

(3)迭代終止條件n小于等于12第四頁,共三十八頁,2022年,8月28日3.4循環(huán)結(jié)構(gòu)循環(huán)算法研究:

迭代和窮舉是兩類具有代表性的基本循環(huán)算法2.窮舉窮舉是對問題所有可能狀態(tài)逐一測試,直至找到解或?qū)⑷靠赡軤顟B(tài)都測試完成為止。第五頁,共三十八頁,2022年,8月28日例如1:分類輸出100以內(nèi)的奇數(shù)和偶數(shù)?例如2:百錢百雞問題。我國古代有一道有名的數(shù)學(xué)問題,即百錢買百雞的問題:雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問雞翁、雞母、雞雛各幾何?第六頁,共三十八頁,2022年,8月28日#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;}}第七頁,共三十八頁,2022年,8月28日3.4.1while循環(huán)語句第八頁,共三十八頁,2022年,8月28日第九頁,共三十八頁,2022年,8月28日第十頁,共三十八頁,2022年,8月28日第十一頁,共三十八頁,2022年,8月28日例:讀程序第十二頁,共三十八頁,2022年,8月28日例如:人口增長問題。

按照每年0.2%的增長速度,我國現(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);}

第十三頁,共三十八頁,2022年,8月28日#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;}}第十四頁,共三十八頁,2022年,8月28日/*兔子繁殖問題或稱為斐波那契數(shù)列*/#include"stdio.h"voidmain(){ intn,k=3,a1=1,a2=1,h=0;/*h為第n月兔子總對數(shù)*/ printf("請輸入月份:"); scanf("%d",&n); printf("\n第%d月有%d對兔子",1,1); printf("\n第%d月有%d對兔子",2,1); while(k<=n) { h=a1+a2; printf("\n第%d月有%d對兔子",k,h); a1=a2; a2=h; k++; }}第十五頁,共三十八頁,2022年,8月28日3.4.2do--while循環(huán)語句第十六頁,共三十八頁,2022年,8月28日第十七頁,共三十八頁,2022年,8月28日3.4.3for循環(huán)語句第十八頁,共三十八頁,2022年,8月28日例:計算1到100的和main(){int

sum=0,n;for(n=1;n<=100;n++)sum=sum+n;

printf("sum=%d",sum);}第十九頁,共三十八頁,2022年,8月28日第二十頁,共三十八頁,2022年,8月28日第二十一頁,共三十八頁,2022年,8月28日第二十二頁,共三十八頁,2022年,8月28日第二十三頁,共三十八頁,2022年,8月28日第二十四頁,共三十八頁,2022年,8月28日第二十五頁,共三十八頁,2022年,8月28日#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");}}第二十六頁,共三十八頁,2022年,8月28日3.4.4break語句和continue語句

注意:break語句不能用于循環(huán)語句和switch語句之外的任何其他語句中。

break語句(1)break語句作用是跳出switch語句或跳出本層循環(huán),轉(zhuǎn)去執(zhí)行后面的下一條語句。由于break語句的轉(zhuǎn)移方向是明確的,所以不需要語句標(biāo)號與之配合。(2)break語句的形式為:break;

第二十七頁,共三十八頁,2022年,8月28日例如:判斷一個數(shù)是否為素數(shù)?#include"stdio.h"voidmain(){ intn,i; printf(“請輸入一個數(shù):");scanf("%d",&n);for(i=2;i<n;i++) if(n%i==0)break;if(i<n)printf(“\n%d不是素數(shù)",n);elseprintf(“\n%d是素數(shù)",n);}第二十八頁,共三十八頁,2022年,8月28日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語句

第二十九頁,共三十八頁,2022年,8月28日第三十頁,共三十八頁,2022年,8月28日continue語句和break語句的區(qū)別continue語句只結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行。

break語句則是結(jié)束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立。

4.3break語句和continue語句

第三十一頁,共三十八頁,2022年,8月28日三、goto語句(無條件轉(zhuǎn)向語句)格式:goto標(biāo)號標(biāo)識符功能:執(zhí)行該語句時,將程序流程無條件地轉(zhuǎn)向指定標(biāo)號所在的語句繼續(xù)執(zhí)行。標(biāo)號由數(shù)字,字母,下劃線組成例如:gotoloop_3;合法;goto123;不合法.3.4.4break語句和continue語句

第三十二頁,共三十八頁,2022年,8月28日

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)

溫馨提示

  • 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

提交評論