为什么感觉都对但是第三个wa了谢谢指点
查看原帖
为什么感觉都对但是第三个wa了谢谢指点
1104314
ammmmmgoding楼主2023/10/31 11:53
#include <stdio.h>

int main() {
	int n = 0; scanf("%d", &n);  int x[40][40] = { 0 }; int i=0, j=0;
	for (int k = 2; k <= n*n; k++) {
		if (x[0][n / 2] != 1){x[0][n / 2] = 1;  i = 0; j = n / 2; }
		if (i == 0 && j != n - 1) { x[n - 1][j + 1] = k; i = n - 1; j++; }
		else if (i != 0 && j == n - 1) { x[i - 1][0] = k; i--; j = 0; }
		else if (i == 0 && j == n - 1) { x[i + 1][j] = k;	i++; }
		else if (i != 0 && j != n - 1) {
			if (x[i - 1][j + 1] == 0&& i - 1 >= 0 && j + 1 <= n) { x[i - 1][j + 1] = k; i--; j++; }
			else { x[i + 1][j] = k; i++; }
		}
	}for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			if (j != n - 1)printf("%d ", x[i][j]); else printf("%d", x[i][j]);
		}if(i!=n-1)printf("\n");
	}
return 0;
}
2023/10/31 11:53
加载中...