《《循環(huán)結(jié)構(gòu)程序設(shè)計(jì)》PPT課件》由會員分享,可在線閱讀,更多相關(guān)《《循環(huán)結(jié)構(gòu)程序設(shè)計(jì)》PPT課件(44頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、第第第 5章章章 循 環(huán) 結(jié) 構(gòu) 程 序 設(shè) 計(jì)循 環(huán) 結(jié) 構(gòu) 程 序 設(shè) 計(jì)循 環(huán) 結(jié) 構(gòu) 程 序 設(shè) 計(jì) 2 3 4當(dāng) 表 達(dá) 式 為 真 語 句表 達(dá) 式 非0?語 句 5思 路 : 尋 找 加 數(shù) 與 求 和 的 規(guī) 律 加 數(shù) 從 1變 到 100, 每 循 環(huán) 一 次 , 使 i增 1,直 到 i的 值 超 過 100。 的 設(shè) 為 1。求 和 設(shè) 變 量 存 放 和 , 循 環(huán) 求, 直 至 i超 過 100。 6main( ) int i,sum; i=1; sum=0; while ( ) sum=sum+i; i+; printf(sum=%dn,sum); 運(yùn) 行 jc5
2、_1程 序 輸 出 結(jié) 果 :sum=5050 i=1, sum=0 當(dāng) i = 100 sum=sum+i i+輸 出 sum 7 while (i=100) i+; sum=sum+i; 8 9 10 循 環(huán) 體當(dāng) 表 達(dá) 式 為 真N-S結(jié) 構(gòu) 圖N Y循 環(huán) 體表 達(dá) 式 非 0?流 程 圖 main( ) int i=1,sum=0; do sum=sum+i; i+; while (i=100); printf(%dn,sum); 11 12定 義 m、 n、 rmnT F m和 n交 換r=m%nm=nn=r 當(dāng) r != 0時(shí)輸 出 最 大 公 約 數(shù) m 13main( )
3、int m,n,r; scanf(%d, %d, if (mn) r=m; m=n; n=r; r=m%n; m=n; n=r; printf(%dn,m); 運(yùn) 行 jc5_3 14 15N-S結(jié) 構(gòu) 圖for (表 達(dá) 式 1;表 達(dá) 式 2;表 達(dá) 式 3) 語 句NY流 程 圖計(jì) 算 表 達(dá) 式 1 語 句計(jì) 算 表 達(dá) 式 3表 達(dá) 式 2為 真 ? main( ) int i,sum; sum=0; printf(sum=%dn,sum); 16注 意 : 在 省 略 某 個(gè) 表 達(dá) 式 時(shí) , 應(yīng) 在 適 當(dāng) 位 置 進(jìn) 行 循環(huán) 控 制 的 必 要 操 作 , 以 保 證 循
4、環(huán) 的 正 確 執(zhí) 行 17; for ( ; i=100; i+) sum+=i; for (i=1; ; i+) for (i=1; i=100; ) for ( ; ; ) 18 19思 路 : 求 階 乘 與 求 累 加 的 運(yùn) 算 處 理 過 程 類 似 , 只 要將 “ ” 變 為 “ ” 。設(shè) 置 : , 初 值 為 1, 終 值 為 n( n是 循 環(huán) 控 制 終值 , 需 要 從 鍵 盤 輸 入 ) , 每 次 循 環(huán) 令 p = p*i 20main( ) int i, n; ; printf(Enter n:); scanf(%d, for (i=1; i=n; i+)
5、= ; printf(p = n,p); 運(yùn) 行 jc5_4 21 22 23 24 25 后 續(xù) 語 句 后 續(xù) 語 句 后 續(xù) 語 句 26 27for (n=100; n=200; n+) n能 被 7整 除 T F 終 止 本 次 循 環(huán) 輸 出 n 輸 出 10個(gè) 數(shù) T F 換 行 28main( ) int n,j=0; for(n=100;n=200;n+) printf(%6d,n); printf( n j=%dn,j); 運(yùn) 行 jc5_7 29 后 續(xù) 語 句 后 續(xù) 語 句 后 續(xù) 語 句 30 31#include main( ) int i, j; for ( i
6、=1; i10; i+ ) for ( j=1; j=i; j+ ) printf (j=i)?%4dn:%4d,i*j); 運(yùn) 行 jc5_a 外 循 環(huán) 語 句內(nèi) 循 環(huán) 語 句 32 33思 路 : Fibonacci數(shù) 列 的 前 幾 項(xiàng) 是 : 1、 1、 2、 3、 5、8、 13、 21、 34、 。 此 數(shù) 列 的 變 化 規(guī) 律 是 : 34#define 20main( ) int i,f1,f2,f3; f1=f2=1; printf(n%8d%8d,f1,f2); for (i=3; i= ; i+) f3=f1+f2; f1=f2; f2=f3; printf(%8d
7、,f3); f1=1, f2=1并 輸 出for (i=3; i=20; i+) f3=f2+f1 f1=f2, f2=f3 輸 出 f3 T F 換 行 運(yùn) 行 jc5_5 35l 分 別 用 嘗 試 能 否 整 除 整 數(shù) 。 36#include math.hmain( ) int j,m,k; printf(Enter an integer number: ); scanf(%d, for (j=2; ; j+) printf(%d ,m); if ( ) printf(YESn); else printf(NOn); 輸 入 一 個(gè) 數(shù) mfor (j=2; j=m T F 輸 出
8、YES“ 輸 出 NO運(yùn) 行 jc5_12 37#include math.hmain( ) int j,m,k; printf(Enter an integer number: ); scanf(%d, for (j=2; ; j+) printf(%d ,m); if ( ) printf(YESn); else printf(NOn); 38設(shè) xn為 一 個(gè) 接 近 xa的 近 似 根 , 過 (xn, f(xn) 點(diǎn) 做 切 線 , 切 線 方 程 為 : )x(f )x(fxx n nn1n n1n nn xx )x(f)x(f 即 : xnxn+1 xy0 f(x)(xn, f(
9、xn)(xn+1, f(xn+1) xa 39 40#include math.hmain( ) float x,x0,f,f1; ; do f=2*x0*x0*x0+4*x0*x0-7*x0-6; f1=6*x0*x0+8*x0-7; while( ); printf(%fn,x);x賦 初 值x0=x計(jì) 算 f計(jì) 算 f1 計(jì) 算 x=x0-f/f1當(dāng) |x-x0|10-6時(shí)輸 出 x 運(yùn) 行 jc5_13 41一 個(gè) 數(shù) 的 因 子 ( 除 了 這 個(gè) 數(shù) 本 身 ) 之 和等 于 該 數(shù) 本 身 。的 因 子 是 1、 2、 3, 因 子 和 1+2+3 42main( ) int i
10、,j,s; (i=2; i=10000; i+) s=0; (j=1; ji; j+) if (i%j=0) s+=j; if (i=s) printf(%6dn,s); for(i=2;i=10000; i+) s = 0 for (j=1; ji; j+) i%j=0 T F s=s+j i=s T F i是 完 全 數(shù) 運(yùn) 行 jc5_11 43* * * * 44main( ) int i,j; for (j=1; j=i; j+) printf( ); for (j=1;j=8-(2*i-1);j+) printf(*); printf(n); for (i=1; i=4; i+) for (j=1; j=i; j+) 輸 出 一 個(gè) 空 格 for (j=1; j=8-(2*i-1); j+) 輸 出 一 個(gè) 星 號 換 行運(yùn) 行 jc5_10