2 回答

TA貢獻1856條經驗 獲得超17個贊
這里你需要了解背后的模式*。
你的程序中的星形模式是,
0st Line : 5 starts //Considering starting index is 0
1st Line : 4 starts // starts = n starts - Line no. where n = 5
2nd Line : 3 starts
3rd Line : 2 starts
4th Line : 1 starts
IE
單行中的星星數量 = n 開始 - 行號 // 其中 n = 5
所以你的代碼看起來像,
int n = 5;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n - i; j++)
{ //^^^^^ n - i is key behind this * pattern
Console.Write("*");
}
Console.WriteLine();
}

TA貢獻2019條經驗 獲得超9個贊
由于這不是關于數組索引或地址計算,而是關于實際的可數對象(星),所以我認為基于 1 的索引在這里更有意義。
此外,星星的數量應該減少,因此倒數也更有意義:
for (int numStars = 5; numStars >= 1; --numStars)
{
for (int star = 1; star <= numStars; ++star)
Console.Write("*");
Console.WriteLine();
}
- 2 回答
- 0 關注
- 139 瀏覽
添加回答
舉報