1 条题解
-
0
参考答案:
#include<bits/stdc++.h> using namespace std; int a[20][20]; int main() { int N = 0, num = 1; int i, j; int n; int arr[20][20] = { 0 }; scanf("%d", &N); if (N % 2 != 0) arr[N / 2][N / 2] = N * N; for (n = 0; n < N / 2; n++) { //→方向 for (j = n; j < N - n - 1; j++) arr[n][j] = num++; //↓方向 for (i = n; i < N - n - 1; i++) arr[i][N - n - 1] = num++; //左反向 for (j = N - n - 1; j >= n + 1; j--) arr[N - n - 1][j] = num++; //↑方向 for (i = N - n - 1; i >= n + 1; i--) arr[i][n] = num++; } for (i = 0; i < N; i++) { for (j = 0; j < N; j++) printf("%d ", arr[i][j]); printf("\n"); } return 0; }
- 1
信息
- ID
- 5414
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 3
- 已通过
- 1
- 上传者