C# 请在c中的简单模式程序中提供帮助#

C# 请在c中的简单模式程序中提供帮助#,c#,C#,我想打印以下图案:- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 但我得到了以下输出:- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 代码如下: static void Main(string[] args)

我想打印以下图案:-

                 1
             2   3
         4   5   6
     7   8   9  10
11  12  13  14  15
但我得到了以下输出:-

               1
           2   3
       4   5   6
   7   8   9  10
 11  12  13  14  15
代码如下:

static void Main(string[] args)
        {
            int spacelimit = 13, num = 1, n = 5;
            for(int i = 1; i<=n; i++)
            {
                for (int space = spacelimit; space >= i; space--)
                    {
                        Console.Write(" ");
                    }
                for (int k = 1; k <= i; k++)
                    {
                        Console.Write("{0,3:D} ",num++);
                    }
                spacelimit = spacelimit - 3;
                Console.WriteLine();
            }
            Console.ReadKey();
        }
static void Main(字符串[]args)
{
int spacelimit=13,num=1,n=5;
对于(int i=1;i=i;空格--)
{
控制台。写(“”);
}

对于(int k=1;k这将实现这个技巧

int spacelimit = 13, num = 1, n = 5;
for(int i = 1; i <= n; i++)
{
    for(int space = spacelimit; space >= i; space--)
    {
        Console.Write(" ");
    }
    for(int k = 1; k <= i; k++)
    {
        Console.Write("{0,2:D} ", num++);
    }
    spacelimit = spacelimit - 2;
    Console.WriteLine();
}
Console.ReadKey();
int spacelimit=13,num=1,n=5;
对于(int i=1;i=i;空格--)
{
控制台。写(“”);
}

对于(int k=1;k这将实现这个技巧

int spacelimit = 13, num = 1, n = 5;
for(int i = 1; i <= n; i++)
{
    for(int space = spacelimit; space >= i; space--)
    {
        Console.Write(" ");
    }
    for(int k = 1; k <= i; k++)
    {
        Console.Write("{0,2:D} ", num++);
    }
    spacelimit = spacelimit - 2;
    Console.WriteLine();
}
Console.ReadKey();
int spacelimit=13,num=1,n=5;
对于(int i=1;i=i;空格--)
{
控制台。写(“”);
}

for(int k=1;k如果我们在for循环中设置空格>=i-3,如下所示,它工作正常。请检查。谢谢

        int spacelimit = 13, num = 1, n = 5;
        for (int i = 1; i <= n; i++)
        {
            for (int space = spacelimit; space >= i - 3; space--) // HERE, I MADE i-3
            {
                Console.Write(" ");
            }
            for (int k = 1; k <= i; k++)
            {
                Console.Write("{0,3:D} ", num++);
            }
            spacelimit = spacelimit - 3;
            Console.WriteLine();
        }
        Console.ReadKey();
int spacelimit=13,num=1,n=5;
对于(inti=1;i=i-3;空格--)//这里,我做了i-3
{
控制台。写(“”);
}

for(int k=1;k如果我们在for循环中设置空格>=i-3,如下所示,它工作正常。请检查。谢谢

        int spacelimit = 13, num = 1, n = 5;
        for (int i = 1; i <= n; i++)
        {
            for (int space = spacelimit; space >= i - 3; space--) // HERE, I MADE i-3
            {
                Console.Write(" ");
            }
            for (int k = 1; k <= i; k++)
            {
                Console.Write("{0,3:D} ", num++);
            }
            spacelimit = spacelimit - 3;
            Console.WriteLine();
        }
        Console.ReadKey();
int spacelimit=13,num=1,n=5;
对于(inti=1;i=i-3;空格--)//这里,我做了i-3
{
控制台。写(“”);
}


对于(int k=1;k将
spacelimit
的初始值设置为
16
spacelimit
的初始值设置为
16

使用\t代替空格。您不必计算空格。字符\t将处理它
\t
仅在数字保持不变时才起作用small@naomik然后使用它两次\t\t。它应该处理较大的数字\t不起作用..还有其他建议吗?将
spacelimit
的初始值设置为
16
。使用\t而不是空格。您不必计算空格。字符\t将处理它
\t
仅当数字保持不变时才起作用small@naomik然后使用它两次\t\t。它应该可以处理更大的数字\t而不起作用…任何其他建议??将
spacelimit
的初始值设置为
16
。将3更改为2不起作用..但正如@Eraph所说,将spacelimit更改为16..它起作用..无论如何,感谢大家的帮助:)@PalashSachan:看看图片,如果我在这个程序中输入用户的行数,你能告诉我如何确定空格吗???@PalashSachan:这是一个不同的问题。请为这个问题框一个问题,并在这里给我链接,直到我尝试为这个问题建立一个逻辑spacelimit@PalashSachan当前位置你把这个问题框起来了吗ar得到答案。将3改为2不起作用。。但正如@Eraph所说,将空格限制改为16。。它起作用。。无论如何,感谢大家的帮助:)@PalashSachan:看看图片,如果我在这个程序中输入用户的行数,你能告诉我如何确定空格吗???@PalashSachan:这是一个不同的问题。请为这个问题框一个问题,并在这里给我链接,直到我尝试为这个问题建立一个逻辑spacelimit@PalashSachan当前位置你把这个问题框起来了吗这也很好。谢谢你帮我解决了问题。谢谢你帮我解决了问题。这也很好。谢谢你帮我解决了问题。谢谢你在评论中讨论了一下,这实际上是必要的解决方案。嗨@MarcoForberg,这实际上是必要的解决方案评论中的讨论。