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