C# 如何获得此输出?(用于循环)
我试图得到最终结果: 一, 2 1 3 2 1 4 3 2 1 这是我到目前为止尝试过的,我有形状,但我需要减少数量。我如何解决这个问题?我知道我必须在某个地方减去,但这会影响形状C# 如何获得此输出?(用于循环),c#,loops,C#,Loops,我试图得到最终结果: 一, 2 1 3 2 1 4 3 2 1 这是我到目前为止尝试过的,我有形状,但我需要减少数量。我如何解决这个问题?我知道我必须在某个地方减去,但这会影响形状 public static void DrawDiamond(int size) { int i, j; for (i = 1; i <= size; i++) { for (j = 1; j < i; j++) { Conso
public static void DrawDiamond(int size)
{
int i, j;
for (i = 1; i <= size; i++)
{
for (j = 1; j < i; j++)
{
Console.Write(j);
}
Console.WriteLine();
}
}
我目前的结果是:
一,
1 2
1 2 3
1234
你好,杰里米
思维方式
我希望我的回答是有帮助的。
如果有任何疑问,请发表评论。打印i-j+1的值,而不是仅打印j或者如果您更喜欢使用Linq:
Enumerable.Range(1, 5).ToList().ForEach(x =>
{
Console.WriteLine();
Enumerable.Range(1, x).Reverse().ToList().ForEach(y => Console.Write(y));
});
产生:
1
21
321
4321
54321
这也有效:
Console.WriteLine(String.Join(Environment.NewLine,
Enumerable
.Range(1, 4)
.Select(x => String.Join(" ", Enumerable.Range(1, x).Reverse()))));
我得到:
1
2 1
3 2 1
4 3 2 1
提示:如果你想减数,考虑减法。
1
21
321
4321
54321
Console.WriteLine(String.Join(Environment.NewLine,
Enumerable
.Range(1, 4)
.Select(x => String.Join(" ", Enumerable.Range(1, x).Reverse()))));
1
2 1
3 2 1
4 3 2 1