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 关注
- 100 浏览
添加回答
举报