平方矩阵I

平方矩阵I

题目描述

输入整数N,输出一个N阶的回字形二维数组。
数组的最外层为1,次外层为2,以此类推。

输入格式

输入包含多行,每行包含一个整数N。
当输入行为N=0时,表示输入结束,且该行无需作任何处理。

输出格式

对于每个输入整数N,输出一个满足要求的N阶二维数组。
每个数组占N行,每行包含N个用空格隔开的整数。
每个数组输出完毕后,输出一个空行。

数据范围

0≤N≤100

输入样例

1
2
3
4
5
0

输出样例

1

1 1
1 1

1 1 1
1 2 1
1 1 1

1 1 1 1
1 2 2 1
1 2 2 1
1 1 1 1

1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1

C++代码

#include 
#include 

using namespace std;

int main()
{
     
    int n;
    while (cin >> n, n)
    {
     
        for (int i = 1; i <= n; i ++)
        {
     
            for (int j = 1; j <= n; j ++)
                {
     
                    cout << min(min(i, j), min(n- i + 1, n - j + 1)) << " ";    // 每个点需要输出的值为其到上下左右四个边界距离的最小值
                }
        cout << endl;
        }
        cout << endl;
    }
}
题目来源:753. 平方矩阵 I
真心推荐AcWing网站,有很多非常棒的课程。

你可能感兴趣的:(C++刷题整理)