《《c語言多重循環(huán)》PPT課件》由會員分享,可在線閱讀,更多相關(guān)《《c語言多重循環(huán)》PPT課件(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、文本作圖問題 南通大學 徐丹 n一個循環(huán)體內(nèi)包含另一個完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套。n while語句、do-while語句和for語句都可以互相嵌套,甚至可以多層嵌套。例如:while( ) for( ) for( ) for( ) 假設(shè)外循共循環(huán)m次,內(nèi)循環(huán)共循環(huán)n次,則: 內(nèi)外循環(huán)用到的循環(huán)變量名不能相同 外循環(huán)每循環(huán)1次,內(nèi)循環(huán)需要完成整個n次循環(huán) 內(nèi)循環(huán)的循環(huán)體共執(zhí)行mn次 * * * * * * * * * * * * * * * * * * * * * * * 12 23 3 39 9 9 9 9 9 9 9 9 1 2 2 3 3 3 9 9 9 9 9 9 9 9 9 1
2、2 1 2 3 2 1 2 3 4 3 2 1 2 3 4 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 題目1輸出以下圖形* 分析1、該問題用二重循環(huán)實現(xiàn)2、外循環(huán)控制輸出行數(shù),for(i=1 ;i=n;i+) 內(nèi)循環(huán)實現(xiàn)輸出列數(shù),for(j=1 ;j=m;j+) 3、該題行數(shù)i與列數(shù)j的關(guān)系是j=i 代碼#includemain() int i,j;for(i=1 ;i=4 ;i+) for(j=1 ;j=i;j+)printf(*);p
3、rintf(n); 題目2輸出以下圖形 * * * 分析1、該問題用二重循環(huán)實現(xiàn)2、外循環(huán)控制輸出行數(shù) 內(nèi)循環(huán)中第一部分用循環(huán)打印空格確定打印字符的初始位置,第二部分確定每行打印符號的個數(shù)3、該題行數(shù)i與列數(shù)j的關(guān)系是j=i 代碼#includemain() int i,j;for(i=1 ;i=4 ;i+) for(j=1 ;j=4 -i;j+)printf( );for(j=1 ;j=i;j+)printf(*);printf(n); +題目3+輸出以下圖形 * * * * +分析1、該問題用二重循環(huán)實現(xiàn)2、外循環(huán)控制輸出行數(shù) 內(nèi)循環(huán)中第一部分用循環(huán)打印空格確定打印字符的初始位置,第二部分
4、確定每行打印符號的個數(shù)3、本題圖形的規(guī)律:每行“*”的個數(shù)與行數(shù)i的關(guān)系是2 *i-1 1234 n=4時:3210n-ii 13572 *i-1 * * * * 代碼#includemain() int i,j,k;for(i=1 ;i=4 ;i+) for(j=1 ;j=4 -i;j+)printf( );for(k=1 ;k=2 *i-1 ;k+)printf(*);printf(n); 題目1輸出以下圖形 1 1 2 1 1 2 3 2 1 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 123456789 876543210空格數(shù)i 123456789前半段 數(shù)字
5、012345678后半段 數(shù)字 9i i i1*1*1 2 1*1 2 3 2 1 *1 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 +代碼#include void main() int i,j; for(i=1 ;i=9 ;i+) for(j=1 ;j=9 -i;j+) printf( ); for(j=1 ;j=1 ;j-) printf(%d,j); printf(n); 題目2輸出以下圖形 * * * * * * * -3-2-1 0 1 2 3n=4時:3210123abs(i)i 13575312 *(
6、n-abs(i)-1 * * * * * * * +代碼#include #includevoid main() int i,j; for(i=-3 ;i=3 ;i+) for(j=1 ;j=abs(i);j+) printf( ); for(j=1 ;j=2 *(4 -abs(i)-1 ;j+) printf(*); printf(n); 外循環(huán)控制圖形的行數(shù)內(nèi)循環(huán)的第一部分控制輸出字符的首位置,第二部分控制輸出字符的個數(shù)用printf(n)語句換行如果關(guān)于x軸或y軸對稱,循環(huán)變量從-(n-1 )/2到(n-1 )/2,n為行數(shù)或列數(shù)。 利用雙重循環(huán)結(jié)構(gòu)打印所示圖形 * * * * 9 8 7 6 5 4 3 2 1 0