编写一些接受整数的代码,并以螺旋格式打印从0到该输入整数的整数

时间:2019-07-01 12:24:06

标签: c#

编写一些接受整数的代码,并以螺旋格式打印从0到该输入整数的整数。

例如,如果我提供24,则输出为:

20 21 22 23 24
19  6  7  8  9
18  5  0  1 10
17  4  3  2 11
16 15 14 13 12

这是我尝试过的代码,但是根据示例,我无法获得预期的输出。

这是实际输出

25  24 23 22 21 
10   9  8  7 20 
11   2  1  6 19 
12   3  4  5 18 
13  14 15 16 17

class Program
{
    static void Main(string[] args)
    {
        int n = 5;
        printSpiral(n);
    }
    static void printSpiral(int n)
    {
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                int x;
                x = Math.Min(Math.Min(i, j),
                    Math.Min(n - 1 - i, n - 1 - j));
                if (i <= j)

                    Console.Write((n - 2 * x) *
                                  (n - 2 * x) -
                                  (i - x) - (j - x) + "\t");
                else
                    Console.Write((n - 2 * x - 2) *
                                  (n - 2 * x - 2) +
                                  (i - x) + (j - x) + "\t");
            }
            Console.WriteLine();
        }
    }
}

0 个答案:

没有答案