




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章循環(huán)結(jié)構(gòu)程序設(shè)為什么需要循環(huán)控用while語(yǔ)句實(shí)現(xiàn)循用do---while語(yǔ)句實(shí)現(xiàn)循用for語(yǔ)句實(shí)現(xiàn)循循環(huán)的嵌幾種循環(huán)的比改變循環(huán)執(zhí)行的狀循環(huán)程序舉5.1為什么需要循環(huán)控5.1為什么需要循環(huán)控要向計(jì)算機(jī)輸入全班50個(gè)學(xué)生的成分別統(tǒng)計(jì)全班50個(gè)學(xué)生的平均成求30教師檢查30個(gè)學(xué)生的成績(jī)是否及5.1為5.1為什么需要循環(huán)控輸入學(xué)生2的三門課成績(jī),并計(jì)算平均值要對(duì)50個(gè)學(xué)生進(jìn)行相同操作重復(fù)50大多數(shù)的應(yīng)用程序都會(huì)包含循環(huán)結(jié)5.2用while語(yǔ)句實(shí)現(xiàn)循5.2用while語(yǔ)句實(shí)現(xiàn)循NNY輸入一個(gè)學(xué)生成輸出一個(gè)學(xué)生平均成i增求一個(gè)學(xué)生平均用while循環(huán)結(jié)構(gòu)實(shí){scanf……;aver=……;printf……;}whilewhile語(yǔ)句的一般形式如下while表達(dá)式語(yǔ)循環(huán)while表達(dá)式語(yǔ)循環(huán)條件表達(dá)while循環(huán)的特點(diǎn)是先判斷條件表達(dá)式,后執(zhí)行循環(huán)體語(yǔ)例5.1求1+2+3+…+100解題思路
n這是累加問題,需要先后將100個(gè)數(shù)相要重復(fù)100次加法運(yùn)算,可用循環(huán)實(shí)后一個(gè)數(shù)是前一個(gè)數(shù)加1而加完上一個(gè)數(shù)i后,使i加1可得到下一個(gè)#include#includeintreturnreturn}{inti=1,sum=0;while
不能 } }{inti=1,sum=0;while }
不能丟,否則循環(huán)永不結(jié)5.3用5.3用do---while語(yǔ)句實(shí)現(xiàn)循do---while語(yǔ)句的特點(diǎn):先無(wú)條件地行循環(huán)體,然后判斷循環(huán)條件是否成do---while語(yǔ)句的一般形式為表達(dá)表達(dá)N循環(huán)體語(yǔ)while(表達(dá)式Y(jié)5.3用5.3用do---while語(yǔ)句實(shí)現(xiàn)循例5.2用do…while語(yǔ)句求1+2+3+…+100, 5.3用do---while語(yǔ)句實(shí)現(xiàn)循解題思路YiNYiN{#include<stdio.h>intmain(){inti=1,sum=0;{return0;}例5.3while和do---while循環(huán)的比較nrnr{}當(dāng)whil后面的表達(dá)式的第一次的值為“真”時(shí),兩種循環(huán)得到的結(jié)果相同;否則不相同{5.45.4用for語(yǔ)句實(shí)現(xiàn)循for語(yǔ)句完全可以代替while語(yǔ)5.45.4用for語(yǔ)句實(shí)現(xiàn)循iY輸出NforiY輸出N{printf("%d",i}5.45.4用for語(yǔ)句實(shí)現(xiàn)循for語(yǔ)句的一般形式語(yǔ)設(shè)置初始條件,只執(zhí)行語(yǔ)設(shè)置初始條件,只執(zhí)行5.45.4用for語(yǔ)句實(shí)現(xiàn)循for語(yǔ)句的一般形式for(表達(dá)式1;表達(dá)式2;表達(dá)式語(yǔ)5.45.4用for語(yǔ)句實(shí)現(xiàn)循for語(yǔ)句的一般形式for(表達(dá)式1;表達(dá)式2;表達(dá)式語(yǔ)執(zhí)行完循環(huán)體后才進(jìn)行5.45.4用for語(yǔ)句實(shí)現(xiàn)循for語(yǔ)句的執(zhí)行過先求解表達(dá)式求解表達(dá)式轉(zhuǎn)回上面步驟(2)繼續(xù)執(zhí)循環(huán)結(jié)束,執(zhí)行for語(yǔ)句下面的一個(gè)語(yǔ)5.45.4用for語(yǔ)句實(shí)現(xiàn)循用for用for語(yǔ)句更簡(jiǎn)單、方等價(jià){}5.45.4用for語(yǔ)句實(shí)現(xiàn)循for(表達(dá)式1;表達(dá)式2;表達(dá)式語(yǔ)表達(dá)式均可以省5.45.4用for語(yǔ)句實(shí)現(xiàn)循for(sum=0;i<=100;5.45.4用for語(yǔ)句實(shí)現(xiàn)循for(sum=0,i=1;i<=100;i++,j-i++,j-
; 5.45.4用for語(yǔ)句實(shí)現(xiàn)循for(i=0;(c=getchar())!=’\n′;;合 ;(c=getchar())!=’\n’; 合5.55.5一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循結(jié)構(gòu),稱為循環(huán)的嵌3種循環(huán)(while循環(huán)、do…while循環(huán)for循環(huán))可以互相嵌5.65.6一般情況下,3種循環(huán)可以互相代5.75.7用break語(yǔ)句提前終止循用continue語(yǔ)句提前結(jié)束本次循break語(yǔ)句和continue語(yǔ)句的區(qū)5.7.15.7.1用break語(yǔ)句提前終止循例5.4在全系1000學(xué)生中,征集慈善編程思路循環(huán)次數(shù)不確定,但最多循環(huán)1000在循環(huán)體中累計(jì)捐款總用if語(yǔ)句檢查是否達(dá)到10萬(wàn)如果達(dá)到就不再繼續(xù)執(zhí)行循環(huán),終止累計(jì)算人均捐款編程思路變量amount,用來存放捐變量total,用來存放累加后的總捐款變量aver,用來存放人均捐定義符號(hào)常量SUM代表#include<stdio.h>#include<stdio.h>#defineSUM100000returnreturn}int
指定符號(hào)常量SUM代表{floatamount,aver,total; inti;for(i=1,total=0;i<=1000;i++){printf("pleaseenteramount:");total=total+amount;if(total>=SUM)break;}aver=total/i #include<stdio.h>#define#include<stdio.h>#defineSUM100000intmain()returnreturn}{floatamount,aver,total; inti;for(i=1,total=0;i<=1000;i++){printf("pleaseentertotal=total+amount;if(total>=SUM)break;}
應(yīng)該執(zhí)行1000aver=total/i {floatamount,aver,total; inti;for(i=1,total=0;i<=1000;i++){printf("pleaseenteramount:");total=total+amount;if(total>=SUM)break;}aver=total/i
達(dá)到10萬(wàn),提前結(jié)束循 {floatamount,aver,tofor(i=1,total=0;i<={printf("pleaseentetotal=total+amount;if(total>=SUM)break;}aver=total/i
實(shí)際捐款人 {floatamount,aver,total; inti;for(i=1,total=0;i<=1000;i++){printf("pleaseenteramount:");total=total+amount;if(total>=SUM)break;};aver=total/;
5.7.25.7.2用continue語(yǔ)句提前結(jié)束本次循例5.5要求輸出100~200之間的不能編程思路對(duì)100到200之間的每一個(gè)整數(shù)進(jìn)行如果不能被3整除,輸出,否則不{ifprintf("%d",n);}nn能被3整YN輸出5.7.35.7.3break語(yǔ)句和continuebreak語(yǔ)句 continue語(yǔ)句表達(dá)式表達(dá)式Y(jié)N表達(dá)式NY強(qiáng)行退出循表達(dá)式Y(jié)N表達(dá)式NY只結(jié)束本次循例5.6輸出以下4*5的矩陣 8 912 81216解題思路可以用循環(huán)的嵌套來處理此問用外循環(huán)來輸出一行數(shù)用內(nèi)循環(huán)來輸出一列數(shù)按矩陣的格式(每行5個(gè)數(shù)據(jù))輸#include#includeintreturnreturn}{intfor
累計(jì)輸出數(shù)據(jù)的forifif(n%5==0)printfprintf}
控制一出5個(gè)數(shù){int
雙重循forforfor{if(n%5==0)printfprintf}{intfor控制輸出4forfor{if(n%5==0)printfprintf}{intfor
forfor{if(n%5==0)printfprintf}{intfor
for{if(n%5==0)printfprintf}
j由1變到i*j的值是returnreturn}dintd{intfor
for{if(n%5==0)printfprintf}
j也由1變到i*j的值是return}return}#include<intmain(){intforfor{if(n%5==0)printf(“\n”);if(i==3&&j==1)break;printf("%d\t",i*j);}
return}return}einte
for{if(n%5==0)printf(“\n”);if(i==3&&j==1)continue;printf("%d\t",i*j);}5.85.8循環(huán)程序舉例5.7
111
公式近似值,直到發(fā)現(xiàn)某一項(xiàng)的絕對(duì)值小10-6為止(該項(xiàng)不累計(jì)加)5.85.8循環(huán)程序舉解題思路
近似值的方法很多,本題是一其他方法721
1 n222
44
6
(n 1
3
5
n(n5.85.8循環(huán)程序舉1111 每項(xiàng)的分子都是后一項(xiàng)的分母是前一項(xiàng)的分母加 n5.85.8循環(huán)程序舉當(dāng)term≥10-sing=-輸出#include<stdio.h>#include<math.h>intmain()#include<stdio.h>#include<math.h>intmain(){intsign=1;doublereturnreturn}{pi=pi+term;
求絕對(duì)值的函}
只保證前5位小數(shù)是準(zhǔn)確{pi=pi+term;
改為1e-}例5.8求費(fèi)波那西(Fibonacci)數(shù)列的
(nF
(nF
(n n n2這是一個(gè)有趣的古典數(shù)學(xué)問題小兔子長(zhǎng)到第3個(gè)月后每個(gè)月又生一對(duì)兔子個(gè)總11001201052125632387535┇┇┇┇┇輸出Fori=1to輸出#include#includeint{intf1=1,f2=1,f3;inti;for(i=1;i<=38;i++){}return}
代碼可改 #include#includeint{intf1=1,f2=1;inti;for(i=1;i<=20;i++){printf("%12d%12dif(i%2==0)ffff解題思路讓n被i整除(i的值從2變到n-如果n能被2~(n-1)之中任何一個(gè)整數(shù)注意:此時(shí)i的值必然小于輸入i≤n-1 Yn被i整NY輸出不是素
i
輸出是素#include#includeintreturnreturn}{intprintf(“n=?");for(i=2;i<=n-1;i++)if(n%i==0)break;if(i<n)printf("%disnot\n",n);elseprintf("%dis\n",n);n{intnprintf(“n=?");for(i=2;i<=n-1;i++)if(n%i==0)break;
if(i<n)printf("%disnot\n",n);elseprintf("%dis\n",n);#include#includereturnreturn}int{int
#includeprintf(“n=?");for(i=2;i<=k;i++)if(n%i==0)break;
if(i<n)printf("%disnot\n",n);elseprintf("%dis\n",n);returnreturn}#includeint{int
#includeprintf(“n=?");for(i=2;i<=k;i++)if(n%i==0)break;
if(i<=k)printf("%disnot\n",n);elseprintf("%dis\n",n);例5.10求100~200間的全部素?cái)?shù)解題思路使用例5.9的算在例5.9程序中只要增加一個(gè)外循環(huán),先后100~200間的全部整數(shù)一一進(jìn)行判只對(duì)只對(duì)奇數(shù)進(jìn)行檢{forif(n%i==0)break;if(i>=k+1){printf("%d控制控制每行輸出10個(gè)數(shù)}if(m%10==0)}例5.11譯。為使電文,往往按一定規(guī)律將其轉(zhuǎn)換成,收再按約ABCDEFG……WXY非字母字符保持原狀不輸入一行字符,要求輸出其相應(yīng)的字字母。如果在’W’到’Z’的范圍內(nèi),則換為A~D(或a~d)之一的字母解題思路:?jiǎn)栴}的關(guān)鍵有兩個(gè)(1)決定哪些字符不需要改變,哪些字符需,改變,如果需要,
字字母。如果在’W’到’Z’的范圍內(nèi),則換為A~D(或a~d)之一的字母解題思路:?jiǎn)栴}的關(guān)鍵有兩個(gè)(1)決定哪些字符不需要改變,哪些字符需要if((c>='a'&&c<='z')||(c>='A'&& 先判定它是否字母(包括大小寫),若不是字解題思路:?jiǎn)栴}的關(guān)鍵有兩個(gè)字字母。如果在’W’到’Z’的范圍內(nèi),則換為A~D(或a~d)之一的字母if(c>='W'&&c<='Z'||c>='w'&&c<='
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 增進(jìn)疾病預(yù)防知識(shí)宣傳的措施計(jì)劃
- 2025年硅酮結(jié)構(gòu)密封膠項(xiàng)目合作計(jì)劃書
- 華東師大版七年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)教案(2024年春季版)
- 2025年大數(shù)據(jù)金融項(xiàng)目建議書
- 昆蟲記中的生命奧秘征文
- 太陽(yáng)能光伏系統(tǒng)投資合同
- Pyridoxine-tri-2-hexyldecanoate-生命科學(xué)試劑-MCE
- Imidazole-salicylate-Standard-生命科學(xué)試劑-MCE
- 工業(yè)廢水處理與循環(huán)利用項(xiàng)目合同
- 自卸車自愿租賃協(xié)議書
- 2025勞動(dòng)合同法重點(diǎn)法條導(dǎo)讀附案例詳解
- 2025年1月浙江省高考英語(yǔ)試卷真題(含答案)
- 小學(xué)班會(huì)-交通安全伴我行(共25張課件)
- 2025年日歷(日程安排-可直接打印)
- 部編版高二思想政治下冊(cè)選擇性必修2《法律與生活》教學(xué)計(jì)劃(含教學(xué)進(jìn)度安排)
- 總生產(chǎn)成本年度比較表
- 新媒體運(yùn)營(yíng)全工作計(jì)劃表(共2頁(yè))
- 2020河南中考化學(xué)試卷含答案
- 醫(yī)療器械全生命周期風(fēng)險(xiǎn)管理
- DNA甲基化檢測(cè)技術(shù)
- 環(huán)境與健康第六講居室環(huán)境與健康
評(píng)論
0/150
提交評(píng)論