10分求助
查看原帖
10分求助
1054137
EkSulfur楼主2023/8/23 14:16

还有好多RE的

#include <stdio.h>
int a[42][42];

int main(void) {
	int n;
	scanf("%d", &n);
	int u = 0;
	int v = (n - 1) / 2;
	a[u][v] = 1;
	for (int i = 2; i <= n * n; i++) {
		while (u == 0 && v != n - 1) {
			u = n - 1;
			v++;
			a[u][v] = i;
			continue;
		}
		while (u != 0 && v == n - 1) {
			v = 1;
			u--;
			a[u][v] = i;
			continue;
		}
		while (u == 0 && v == n - 1) {
			u++;
			a[u][v] = i;
			continue;
		}
		while (u != 0 && v != n - 1) {
			if (a[u - 1][v + 1] == 0) {
				u = u - 1;
				v++;
				a[u][v] = i;
			} else {
				u++;
				a[u][v] = i;
			}
			continue;
		}
	}
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++)
			printf("%d ", a[i][j]);
		printf("\n");
	}

	return 0;
}
2023/8/23 14:16
加载中...