XPC_biubiubiu 2021-07-06 15:08 采纳率: 100%
浏览 68
已采纳

如何编写这样的三角矩阵

输入3 输出
1
6 2
5 4 3
输入4 输出
1
9 2
8 10 3
7 6 5 4

  • 写回答

3条回答 默认 最新

  • Iawfy_ 2021-07-06 15:37
    关注

    刚写的C#的,回形矩阵的
    img
    算法一样的,取一半就行

            public static int[,] myMainStep(int n)
            {           
                int[,] mymainRect = new int[n, n];
                int count = 0;
                int step = n;
                //对角线
                for (int m = 0; m < n; m++)
                {
                    count++;
                    mymainRect[m, m] = count;
                }
                step--;
                for (int i = n - 1; i > 0; i--)
                {
                    //左下 往左               
                    for (int j = 0; j < step; j++)
                    {
                        count++;
                        mymainRect[i, i - j - 1] = count;
                    }
                    step--;
                    //左下往上
                    for (int k = 0; k < step; k++)
                    {
                        count++;
                        mymainRect[i - k - 1, i - step - 1] = count;
                    }
                    step++;
                    //右上往右
                    for (int p = 0; p < step; p++)
                    {
                        count++;
                        mymainRect[n - i - 1, n - i - 1 + p + 1] = count;
                    }
                    step--;
                    //右上往下
                    for (int q = 0; q < step; q++)
                    {
                        count++;
                        mymainRect[n - i - 1 + q + 1, n - i - 1 + step + 1] = count;
                    }
                    step--;
                }
                return mymainRect;
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?