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
 - 上传者