#include #include // for setw using namespace std;

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

int matrix[20][20] = {0};
int num = 1;
int row_start = 0, row_end = n-1, col_start = 0, col_end = n-1;

while (row_start <= row_end && col_start <= col_end) {
    // fill top row
    for (int i = col_start; i <= col_end; i++) {
        matrix[row_start][i] = num++;
    }
    row_start++;
    
    // fill right column
    for (int i = row_start; i <= row_end; i++) {
        matrix[i][col_end] = num++;
    }
    col_end--;
    
    // fill bottom row
    for (int i = col_end; i >= col_start; i--) {
        matrix[row_end][i] = num++;
    }
    row_end--;
    
    // fill left column
    for (int i = row_end; i >= row_start; i--) {
        matrix[i][col_start] = num++;
    }
    col_start++;
}

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

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样例输出2: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/ihyn 著作权归作者所有。请勿转载和采集!

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