C語言程序設(shè)計 第3版 課件 第5章 算法_第1頁
C語言程序設(shè)計 第3版 課件 第5章 算法_第2頁
C語言程序設(shè)計 第3版 課件 第5章 算法_第3頁
C語言程序設(shè)計 第3版 課件 第5章 算法_第4頁
C語言程序設(shè)計 第3版 課件 第5章 算法_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

程序=數(shù)據(jù)結(jié)構(gòu)+算法數(shù)據(jù)的類型和組織形式解決問題的方法和步驟第五章算法描述算法的方法:自然語言、流程圖例1:輸入兩個數(shù)a和b,要求實現(xiàn)將a和b中的數(shù)據(jù)進(jìn)行交換。算法描述125abt1、定義三個變量a、b、t2、輸入a和b的值3、t=a;a=b;b=t;4、輸出a和b5.1算法的概念和使用舉例一、三個典型實例main(){floata,b,t;scanf(“%f%f”,&a,&b);t=a;a=b;b=t;printf(“%f,%f”.a.b);}思考題:

從鍵盤輸入兩個數(shù),將這兩個數(shù)按照從小到大的順序輸出來。比如輸入5和1,則輸出結(jié)果為1,5。例2:從鍵盤輸入三個整數(shù),將這三個整數(shù)按照從大到小的順序輸出來。比如:如果輸入34、12、89;則輸出為89、34、121、定義四個變量a、b、c、t;2、輸入a、b、c的值3、如果b>a,則{t=b;b=a;a=t;}4、如果c>a,則{t=c;c=a;a=t;}5、如果c>b,則{t=c;c=b;b=t;}6、輸出a、b、c的值例3:編寫一個程序,求1×3×5×……×99

1×3×5×7×9×……×99假設(shè)用S表示乘積結(jié)果,用i表示被乘數(shù)S=1i=11、定義2個變量S和i2、S=1;i=1;3、S=S*i;i=i+2;4、如果i<=99;返回3繼續(xù)否則,轉(zhuǎn)到55、輸出s執(zhí)行算法所占用的空間資源和時間資源二、衡量算法好壞的兩個因素算法是否容易理解、調(diào)試和測試

有窮性

應(yīng)該在有限的步驟內(nèi)完成三、算法的特點確定性

明確而可以執(zhí)行必須有輸出有效性每一步都應(yīng)該有效而可以執(zhí)行5.2算法的流程圖表示例1:輸入兩個數(shù)a和b,要求實現(xiàn)將a和b中的數(shù)據(jù)進(jìn)行交換。用傳統(tǒng)流程圖表示。返回定義a、b、t輸入a、bt=a;a=b;b=t;輸出a、b開始結(jié)束一、算法的傳統(tǒng)流程圖表示例2:從鍵盤輸入三個整數(shù),將這三個整數(shù)按照從大到小的順序輸出來。1、定義四個變量a、b、c、t;2、輸入a、b、c的值3、如果b>a,則{t=b;b=a;a=t;}4、如果c>a,則{t=c;c=a;a=t;}5、如果c>b,則{t=c;c=b;b=t;}6、輸出a、b、c的值常用的流程圖符號開始/結(jié)束框處理框輸入/輸出框條件判斷框流程線結(jié)束定義S和iS=1;i=1S=S*I;i=i+2;i<=99Y輸出S開始例3:編寫一個程序,求1×3×5×……×99N1、定義2個變量S和i2、S=1;i=1;3、S=S*i;i=i+2;4、如果i<=99;返回3繼續(xù)否則,轉(zhuǎn)到55、輸出s傳統(tǒng)流程圖的三種基本結(jié)構(gòu)順序結(jié)構(gòu)操作A操作B操作C選擇結(jié)構(gòu)操作D操作A條件P操作B操作C操作D循環(huán)結(jié)構(gòu)操作A條件P操作B操作CYNYN實訓(xùn)(請用傳統(tǒng)流程圖表示下列兩個題目的算法)1、當(dāng)從鍵盤輸入一個字符時,實現(xiàn)判斷該字符是大寫字符還是小寫字符。如果是大寫字符,輸出“UPWORD”,并將其轉(zhuǎn)換為小寫字符輸出;如果是小寫字符,則輸出“DOWNWORD”,并將其轉(zhuǎn)換為大寫字符輸出。

2、整數(shù)累乘:如果求1×2×3×4×5×……×100的結(jié)果。二、算法的N-S流程圖表示定義a、b、t輸入a、bt=a;a=b;b=t;輸出a、b開始結(jié)束傳統(tǒng)流程圖定義a、b、t輸入a、bt=a;a=b;b=t;輸出a、bN-S流程圖輸入a、b、cb<aYNt=b;b=a;a=t;c<aYNt=c;c=a;a=t;c<bYNt=c;c=b;b=t;輸出a、b、c從鍵盤輸入三個整數(shù),將這三個整數(shù)按照從大到小的順序輸出來。結(jié)束定義S和iS=1;i=1;S=S*I;i=i+2;i<=99Y輸出S開始例3:編寫一個程序,求1×3×5×……×99定義s和iS=1;i=1;輸出SS=S*I;i=i+2;i<=99傳統(tǒng)流程圖N-S流程圖總結(jié):傳統(tǒng)流程圖的三種基本結(jié)構(gòu)順序結(jié)構(gòu)操作A操作B操作C操作D操作A操作B操作C操作D選擇結(jié)構(gòu)操作A條件P操作B操作C操作DYN操作A條件PYN操作B操作C操作D循環(huán)結(jié)構(gòu)操作A條件P操作B操作CYN操作A條件P操作B操作C1、奇偶數(shù)識別:要求從鍵盤輸入一個整數(shù),判別其是奇數(shù)或偶數(shù),如果是奇數(shù),輸出“Itisanoddnumber!”;如果是偶數(shù),輸出“Itis

溫馨提示

  • 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

提交評論