题目描述:输入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
#include
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;
原文地址: https://www.cveoy.top/t/topic/ihx3 著作权归作者所有。请勿转载和采集!