C程序語言課件:第6章 循環(huán)控制結(jié)構(gòu)_第1頁
C程序語言課件:第6章 循環(huán)控制結(jié)構(gòu)_第2頁
C程序語言課件:第6章 循環(huán)控制結(jié)構(gòu)_第3頁
C程序語言課件:第6章 循環(huán)控制結(jié)構(gòu)_第4頁
C程序語言課件:第6章 循環(huán)控制結(jié)構(gòu)_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022-4-182/632022-4-183/63如何確定如何確定程序的輸程序的輸入和輸出入和輸出呢呢?Draw a flowchart for the following problem:讀入讀入5個整數(shù),計算并顯示它們的和個整數(shù),計算并顯示它們的和.Input : 5 個整數(shù)個整數(shù)n1, n2, n3, n4, n5 Output: n1, n2, n3, n4, n5的和的和Input example: 2 3 4 5 6Output example: 202022-4-184/63Input n1Input n2Input n3input n4input n5output sumsu

2、m n1+n2+n3+n4+n5n1Assume input example: 2 3 4 5 6n2n3n4n5sumend使用了使用了6個不同的變量個不同的變量start讀入讀入1000個整數(shù),計算并顯示它們的和個整數(shù),計算并顯示它們的和.?2022-4-185/632022-4-186/63counter 1, sum 0counter6sum sum + nfalsetruecounter+output suminput n1countersum01 6true2n0 + 2222 6true32 + 3533 6true45 + 4944 6true59 + 51455 6true6

3、14 + 62066 6falsecounter-controlled 計數(shù)器每次增計數(shù)器每次增1使用了使用了3個變量個變量Assume input example: 2 3 4 5 6startend2022-4-187/63Step nStep xfalsetrue2022-4-188/63n當型循環(huán)當型循環(huán)Condition is tested first n計數(shù)控制計數(shù)控制Loop is controlled by a counternSyntax (initial value ; condition; update counter) statement;Or (initial val

4、ue ; condition; update counter) statement;statement; 復(fù)合語句復(fù)合語句compound statement被當作一條語句看待被當作一條語句看待循環(huán)變量控制循環(huán)次循環(huán)變量控制循環(huán)次數(shù),不要在循環(huán)體內(nèi)數(shù),不要在循環(huán)體內(nèi)改變這個變量的值改變這個變量的值2022-4-189/63i 0, sum 0i 5sumsum+ nfalsetruei+output suminput nint i, sum, n;sum = 0;for (i = 0; i b) a=a-2; goto kk; 此結(jié)構(gòu)構(gòu)成的是此結(jié)構(gòu)構(gòu)成的是“當型當型”循環(huán)。循環(huán)。 功能:功能:

5、無條件無條件轉(zhuǎn)去執(zhí)行語句標號所指語句行。轉(zhuǎn)去執(zhí)行語句標號所指語句行。2022-4-1835/63Exit() 函數(shù)函數(shù)exit(0)l作用是終止整個程序的執(zhí)行,強制返回操作系統(tǒng) l調(diào)用該函數(shù)需要嵌入頭文件2022-4-1836/63利用前項利用前項計算后項計算后項2022-4-1837/63每次單獨計算每次單獨計算累加項累加項2022-4-1838/632022-4-1839/63main() int i,j; for(i=1;i=4;i+) for(j=1;j=5;j+) printf(“* ”); printf(“n”); * * * * * * * * * * * * * * * * *

6、2022-4-1840/63* * * * * * * * * * * *#include main()int i,j,m; scanf(%d,&m);for(i=1;i=m;i+) for(j=1;j=i;j+) printf(* ); printf(n);2022-4-1841/63#include main()int i, j, k,m; scanf(%d,&m);for (i=1; im; i+) for (k=1; k=2*i-2; k+) printf( ); for (j=i; jm; j+) printf(“* ); printf(n); * * * * * *

7、 * * * * * *2022-4-1842/63 解方程組解方程組窮舉法窮舉法)2(5023) 1 (30zyxzyx2022-4-1843/63方法方法1:1:窮舉窮舉x,y,z的所有組合的所有組合#include main() int x,y,z; printf(Man t Women t Childernn); for (x=0; x=30; x+) for (y=0; y=30; y+) for (z=0; z=30; z+) if (x+y+z=30 & 3*x+2*y+z=50) printf(%3d t %5d t %8dn,x,y,z); 2022-4-1844/6

8、3方法方法2:2:改進算法改進算法#include main() int x,y,z; printf(Man t Women t Childernn); for (x=0; x=16; x+) for (y=0; y=25; y+) z = 30 x - y; if (3 * x + 2 * y + z = 50) printf(%3d t %5d t %8dn,x,y,z); 2022-4-1845/63 水仙花數(shù)水仙花數(shù)”2022-4-1846/63水仙花數(shù)解法水仙花數(shù)解法1-程序程序2022-4-1847/63水仙花數(shù)程序?qū)嵗苫〝?shù)程序?qū)嵗?解法解法2)2022-4-1848/63從鍵

9、盤任意輸入一個正整數(shù),編程判斷它是否是從鍵盤任意輸入一個正整數(shù),編程判斷它是否是素數(shù),若是素數(shù),輸出素數(shù),若是素數(shù),輸出“Yes!Yes!”;否則,輸出;否則,輸出“No!No!”問題分析:問題分析:概念:素數(shù)是指除了能被概念:素數(shù)是指除了能被1 1和它本身整除外,不能被其和它本身整除外,不能被其他任何整數(shù)整除的數(shù);他任何整數(shù)整除的數(shù);判斷素數(shù)的方法:把判斷素數(shù)的方法:把m m作為被除數(shù),把作為被除數(shù),把i=2(m-1)i=2(m-1)依次做依次做為除數(shù),若余數(shù)都不為為除數(shù),若余數(shù)都不為0 0,則說明是素數(shù)。,則說明是素數(shù)。簡單判斷方法:只需用簡單判斷方法:只需用2 2 的數(shù)去除的數(shù)去除m m

10、,即可得到,即可得到正確的判定結(jié)果。正確的判定結(jié)果。負數(shù)負數(shù)、 0 0和和1 1不是素數(shù)。不是素數(shù)。m2022-4-1849/63#include main() int m, i, k, flag = 1; /*標志變量標志變量flag初值置為初值置為1*/printf(Please enter a number:);scanf(%d,&m); if (x = 1) /* 負數(shù)、負數(shù)、0和和1都不是素數(shù)都不是素數(shù) */ printf(No!n); goto END; for (i=2; i=m-1 & flag; i+)if (m % i = 0) flag = 0; if (

11、flag) printf(Yes!n); else printf(No!n); END: printf(Program is over!n);采用設(shè)置采用設(shè)置標志變量的方法標志變量的方法2022-4-1850/63#include main() int m, i, k, flag = 1; /*標志變量標志變量flag初值置為初值置為1*/printf(Please enter a number:);scanf(%d,&m); if (x = 1) /* 負數(shù)、負數(shù)、0和和1都不是素數(shù)都不是素數(shù) */ flag=0; /*標志變量標志變量flag初值置為初值置為0*/ k = sqrt

12、(m); /for (i=2; i=k & flag; i+)if (m % i = 0) flag = 0; if (flag) printf(Yes!n); else printf(No!n); printf(Program is over!n);采用設(shè)置采用設(shè)置標志變量的方法標志變量的方法m2022-4-1851/63#include main() int m, i, k; printf(Please enter a number:);scanf(%d,&m); if (x = 1) /* 負數(shù)、負數(shù)、0和和1都不是素數(shù)都不是素數(shù) */ printf(No!n); pri

13、ntf(Program is over!n); return 0; /*return 方法方法*/ k = sqrt(m); /for (i=2; ik) printf(Yes!n); else printf(No!n); printf(Program is over!n);break方法方法m2022-4-1852/63#include #include main() int m, i, k; printf(Please enter a number:);scanf(%d,&m); if (x = 1) /* 負數(shù)、負數(shù)、0和和1都不是素數(shù)都不是素數(shù) */ printf(No!n);

14、 printf(“Program is over!n”); exit(0); /*exit()方法方法*/ k = sqrt(m); for (i=2; ik) printf(Yes!n); else printf(No!n); printf(Program is over!n);goto方法方法2022-4-1853/632022-4-1854/63“瞎貓碰死耗子瞎貓碰死耗子”2022-4-1855/63“死循環(huán)死循環(huán)”2022-4-1856/632022-4-1857/632022-4-1858/63標準庫函數(shù),標準庫函數(shù),作用是終止整作用是終止整個程序的執(zhí)行,個程序的執(zhí)行,強制返回操作強制返回操作系統(tǒng)系統(tǒng) 2022-4-1859/63結(jié)構(gòu)清晰的結(jié)構(gòu)清晰的程序程序2022-4-1860/63“錯在哪兒錯在哪兒?”2022-4-1861/63“錯在哪兒錯在哪兒?”2022-4-1862/63“你答對了嗎你答對了嗎?”2022-4-1

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論