我试图获得最终结果:
1
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++)
{
Console.Write(j);
}
Console.WriteLine();
}
}
我目前的结果是:
1
1 2
1 2 3
1 2 3 4
答案 0 :(得分:1)
Hello JeremyM,
int i, j;
for (i = 1; i <= no_of_row; i++)
{
for (j = i; j>=1; j--)
{
Console.Write(j);
}
Console.WriteLine();
}
using System.IO;
using System;
class Program
{
static void Main()
{
int i, j;
for (i = 1; i <= no_of_row; i++)
{
for (j = i; j>=1; j--)
{
Console.Write(j);
}
Console.WriteLine();
}
}
}
例如:
no_o_rows = 5输出,
1
21
321
4321
54321
我希望我的回答很有帮助 如果有任何疑问请评论。
答案 1 :(得分:0)
i-j + 1的打印值仅为j
答案 2 :(得分:0)
或者如果您更喜欢与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
答案 3 :(得分:0)
这也有效:
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