for()spa
{ 循環體能夠套無數個for循環code
}blog
好比:for()作用域
{it
for()for循環
{class
for()變量
{... ...這裏面能夠鑲嵌無數個for循環}循環
}im
}
也能夠這樣
for()
{
for()
{}
... ...
for()
{}
}
做用域 循環外面的變量/值能夠用到循環裏面賦值 循環裏面不能夠用到循環外面賦值
if也是 {}外面變量/值能夠用到裏面賦值 {}裏面的變量不能夠到外面賦值
打三角形
圖一
★
★★
★★★
★★★★
★★★★★
for (int i = 1; i <= 5; i++) { for(int j=1;j<=i;j++) 每行要循環多少次 {Console.Write("★");} Console.WriteLine(); j循環完了 自動換行 } Console.ReadLine();
圖二
★★★★★
★★★★
★★★
★★
★
for (int i = 1; i <= 5; i++) { for(int j=1;j<=6-i;j++) {Console.Write("★");} Console.WriteLine(); } Console.ReadLine();
圖三
★
★★
★★★
★★★★
★★★★★
思路:就是把左邊上部分當成第二張圖的三角形 就是把★改爲空格
for (int i = 1; i <= 5; i++) { for(int j=1;j<=5-i;j++) {Console.Write(" ");} for (int k = 1; k <= i; k++) { Console.Write("★"); } Console.WriteLine(); } Console.ReadLine();
顯示是
圖四
★★★★★
★★★★
★★★
★★
★
思路和上面的同樣
for (int i = 1; i <= 5; i++) { for(int j=1;j<=i-1;j++) {Console.Write(" ");} for (int k = 1; k <=6-i; k++) { Console.Write("★"); } Console.WriteLine(); } Console.ReadLine();
顯示是
圖五
★
★★★
★★★★★
★★★★★★★
★★★★★★★★★
思路是 左邊直三角形(和圖2相似)加三角形 (個數是2*行數-1)
for (int i = 1; i <= 5; i++) { for(int j=1;j<=5-i;j++) {Console.Write(" ");} for (int k = 1; k <=2*i-1; k++) { Console.Write("★"); } Console.WriteLine(); } Console.ReadLine();
顯示是
圖六
★★★★★★★★★
★★★★★★★
★★★★★
★★★
★
思路是 先空白處 在計算星星 每行的星星10-2*行數+1
for (int i = 1; i <= 5; i++) { for(int j=1;j<i;j++) {Console.Write(" ");} for (int k = 1; k <=10-2*i+1; k++) { Console.Write("★"); } Console.WriteLine(); } Console.ReadLine();
顯示是
圖七
★
★★★
★★★★★
★★★★★★★
★★★★★★★★★
★★★★★★★
★★★★★
★★★
★
思路是 先打上半部分再打下半部分
for (int i = 1; i <= 9; i++) { if (i <= 5) { for (int j = 1; j <= 5 - i; j++) { Console.Write(" "); } for (int k = 1; k <= 2 * i - 1; k++) { Console.Write("★"); } } 上半部分的內容 else { for (int j = 1; j <=i-5; j++) { Console.Write(" "); } for (int k = 1; k <=19-2*i; k++) { Console.Write("★"); } } 下半部分的內容 Console.WriteLine(); } Console.ReadLine();
練習題:
請用戶輸入一個奇數,用奇數打出一個菱形
本身認真作一個