簡體   English   中英

我如何獲得此輸出? (用於循環)

[英]How do i get this output? (For loop)

我試圖得到最終結果:

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

您好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

希望我的回答對您有所幫助。
如有任何疑問,請發表評論。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM