盯着看了一个小时还是不会,大佬们,SOS
#include <iostream>
using namespace std;
int a[101][101];
int main () {
int N;
cin >> N;
int g = 1, k = N / 2 + 1;
a[1][N / 2 + 1] = 1;
for (int i = 2; i <= N * N; i++) {
if (g = 1 && k < N) {
g = N;
k += 1;
a[g][k] = i;
} else if (k == N && g > 1) {
k = 1;
g -= 1;
a[g][k] = i;
} else if (g == 1 && k == N) {
g -= 1;
a[g][k] = i;
} else if (g > 1 && k < N) {
if (a[g - 1][k + 1] == 0 && g - 1 <= 1; k + 1 >= N) {
g -= 1;
k += 1;
a[g][k] = i;
} else {
g += 1;
a[g][k] == i;
}
}
}
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
cout << a[i][j] << ' ';
}
cout << endl;
}
return 0;
}