Run ID:111892
提交时间:2025-03-08 10:05:37
#include<bits/stdc++.h> using namespace std; int main() { int a[21][21] = {0}; // 初始化矩阵 int t = 1, i = 0, n; cin >> n; // 生成螺旋矩阵 while (t <= n * n) { // 从左到右填充上边 for (int j = i; j <= n - 1 && t <= n * n; j++) a[i][j] = t++; // 从上到下填充右边 for (int j = i + 1; j <= n - i - 1 && t <= n * n; j++) a[j][n - i - 1] = t++; // 从右到左填充下边 for (int j = n - i - 2; j >= i && t <= n * n; j--) a[n - i - 1][j] = t++; // 从下到上填充左边 for (int j = n - i - 2; j > i && t <= n * n; j--) a[j][i] = t++; i++; // 缩小螺旋范围 } // 输出螺旋矩阵 for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("%4d", a[i][j]); // 格式化输出 } cout << endl; } return 0; }