#include #include using namespace std;

void printSpiralMatrix(int n) { int matrix[20][20]; int num = 1; int left = 0, right = n - 1; int top = 0, bottom = n - 1;

while (num <= n * n) {
    for (int i = left; i <= right; i++) {
        matrix[top][i] = num++;
    }
    top++;

    for (int i = top; i <= bottom; i++) {
        matrix[i][right] = num++;
    }
    right--;

    for (int i = right; i >= left; i--) {
        matrix[bottom][i] = num++;
    }
    bottom--;

    for (int i = bottom; i >= top; i--) {
        matrix[i][left] = num++;
    }
    left++;
}

for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
        cout << setw(4) << matrix[i][j];
    }
    cout << endl;
}

}

int main() { int n; cin >> n; printSpiralMatrix(n);

return 0;
题目描述:输入n试打印输出nn的回形矩阵每个元素占4位场宽。输入:一行一个整数n1sns20。输出:一个n行n列的回形矩阵。样例组样例输入1:6样例输出1:1 1 1 1 1 11 2 2 2 2 11 2 3 3 2 11 2 3 3 2 11 2 2 2 2 11 1 1 1 1 1样例输入2:5样例输出:1 1 1 1 11 2 2 2 11 2 3 2 11 2 2 2 11 1 1 1

原文地址: https://www.cveoy.top/t/topic/ihx3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录