黑馬程式設計師 基礎for迴圈的使用與理解

2021-06-18 20:51:30 字數 2692 閱讀 2224

--------------------

asp.net+android+io開發s

、.net培訓

、期待與您交流! ----------------------

console.writeline("請輸入要列印菱形的行數(不能是偶數)");

//儲存使用者輸入的數字

int num=int.parse(console.readline());

//判斷使用者輸入的是否為奇數

while(num%2==0)

//列印菱形的上半部

for (int i=1; i<=(num+1)/2;i++ )

for (int j=1;j<=2*i-1 ;j++ )

console.writeline();

}//列印菱形的下半部分

for (int i=1;i<=(num-1)/2 ;i++ )

for (int j = 1; j <= num-2*i;j++ )

console.writeline();

}console.readkey();

使用for雙重迴圈列印菱形。首先讓使用者輸入乙個列印菱形的行數,只有在奇數的情況下才能構成菱形,所以提示使用者只能輸入奇數。

比方使用者輸入的是9,num=9;那麼我們需要列印出9行並且菱形的最長(*)也是9;

根據使用者輸入的數字來進行分析,

旁邊自己打出來的圖,我們從圖中來找出它的迴圈規律,菱形是由兩個等腰三角形組成,一正,一倒                      

從總行數來看一共是9行,從第五行往上面看(*)號是乙個等腰三角形,從第六行向下看是(*)是個倒立等腰三角形         第一行 ####*

那麼我們分兩部把它列印出來,先看上面五行,列印五行那麼外層迴圈5次,                        第二行 ###***

外層次數  #次數  *次數                                                第三行 ##*****               

外層迴圈第1次  內層列印(#)迴圈4次  內層列印(*)迴圈1次       1      4       1                   第四行 #*******    

外層迴圈第2次  內層列印(#)迴圈3次  內層列印(*)迴圈3次       2      3       3                   第五行 *********

外層迴圈第3次  內層列印(#)迴圈2次  內層列印(*)迴圈5次       3      2       5                   第六行 #*******

外層迴圈第4次  內層列印(#)迴圈1次  內層列印(*)迴圈7次       4      1       7                   第七行 ##*****

外層迴圈第5次  內層列印(#)迴圈0次  內層列印(*)迴圈9次       5      0       9                   第八行 ###***

列出了迴圈規律,從左邊的數字來找出它的迴圈條件,先看外層迴圈條件,通常用for迴圈5次迴圈條件這樣寫         第九行 ####*

(int i=1;i<=5;i++),但使用者輸入的是num=9;找出5和9之間的關係,5=(9+1)/2,把表示式內的5替換

可以得到外層的條件表示式(int i=1;i<(num+1)/2),再來看內曾迴圈列印(#) 當i=1時 #迴圈4次

當i=2時  #迴圈3次,從數字找出的迴圈條件(int k=i;k<=4;k++),同樣找出4和9之間的關係,4=(9-1)/2,

將其替換,得出條件表示式(int k=i;k<=(num-1)/2;k++),迴圈體內列印出(#)

內層迴圈列印(*) 當i=1時 *迴圈1次 當i=2時 *迴圈3次 當i=3時 *迴圈5次......

可以看出i和j的關係,j=2*i-1;迴圈條件表示式(int j=1;j<=2*i-1;j++),迴圈體內列印*,在(*)for迴圈外部(})下面加上乙個換行,上半部列印完成

下半部是列印乙個到三角形

外層次數  #次數  *次數

外層迴圈第1次  內層列印(#)迴圈1次  內層列印(*)迴圈7次     1        1       7

外層迴圈第2次  內層列印(#)迴圈2次  內層列印(*)迴圈5次     2        2       5

外層迴圈第3次  內層列印(#)迴圈3次  內層列印(*)迴圈3次     3        3       3

外層迴圈第4次  內層列印(#)迴圈4次  內層列印(*)迴圈1次     4        4       1

列出規律,同樣從左邊數字找出迴圈條件,外層迴圈表示式(int i=1;i<=4;i++),找出4和9之間的關係,4=(9-1)/2,在表示式中替換(int i=1;i<=(num-1)/2;i++)

內層#的表示式(int k=1;k<=i;k++),迴圈體列印出(#)

內層迴圈*  j和i的關係   j=num-2*i  內層迴圈*的條件表示式(int j=1;j<=num-2*i),迴圈體列印出(*),在(*)for迴圈外部(})下面加上乙個換行,下半部列印完成

總結:(除foreach遍歷迴圈外)所有的迴圈都必須有著一定的規律,while,do{}while,for迴圈都是找尋到它的規律後,利用規律編寫迴圈條件,編寫迴圈條件是最為重要的,

最後在來填寫迴圈的**;有迴圈就必須要有跳出迴圈語句或跳出迴圈條件,不然會成為死迴圈。

黑馬程式設計師 迴圈結構

asp.net unity開發 net培訓 期待與您交流!迴圈結構 1 while while迴圈的基本語法 while 表示式1 語句2 執行過程 1 對表示式1進行求值 2 如果表示式1的值為false,則跳轉到第4步,如果表示式1的值為true,則跳轉到第3步 3 執行迴圈體,然後跳轉到第1步...

黑馬程式設計師 迴圈的比較

asp.net android ios開發 net培訓 期待與您交流!while迴圈 語法 while 迴圈條件 執行過程 迴圈條件一般為關係表示式或者bool 型別的值,首先判斷 while 後面小括號內的迴圈條件是否為真,如果為真,也就是返回乙個 true 則執行迴圈體,如果為假,也就是返回乙個...

黑馬程式設計師 c 基礎

windows phone 7手機開發 net培訓 期待與您交流!變數 變數本身被用來儲存特定型別的資料,可以根據需要隨時改變變數中所儲存的資料值。變數具有名稱,型別和值。變數代表著一塊記憶體空間,我們可以通過變數名稱向記憶體存 取資料,有變數就不需要記憶複雜的記憶體位址。資料型別 變數名 命名規範...