1 条题解
-
0
C++ :
#include <iostream> #include <iomanip> // 用于设置输出宽度 using namespace std; int main() { int n; cin >> n; int matrix[9][9] = {0}; // 最大n为9,定义9x9数组足够 int top = 0, bottom = n - 1; int left = 0, right = n - 1; int num = 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++; // 左边界右移 } // 按格式输出,每个数字占3个字符宽度 for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { cout << setw(3) << matrix[i][j]; } cout << endl; } return 0; }
- 1
信息
- ID
- 74
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者