Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获得此输出?(用于循环)_C#_Loops - Fatal编程技术网

C# 如何获得此输出?(用于循环)

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

我试图得到最终结果:

一, 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 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