求助
  • 板块学术版
  • 楼主andygao
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/8/27 15:07
  • 上次更新2023/11/4 08:49:08
查看原帖
求助
542705
andygao楼主2021/8/27 15:07

整份代码试图形成奇数阶幻方,但有问题,能看一下码? 样例: 输入

3

输出

4 9 2

3 5 7

8 1 6

#include <cstdio>
int a[1009][1009];
int main(){
	int n;
	scanf("%d",&n);
	int x = n,y = (n+1)/2,k = 1; 
	a[x][y] = 1;
	x = 1;
	y++;
	k++;
	while(k <= n*n){
		a[x][y] = k;
		k++;
		x++,y++;
		int flag = 0;
		if(x>n&&y>n){
			x = 1;
			y = 1;
			continue;
		}else{
			if(x>n){
				x = 1;
				continue;
			}
			if(y>n){
				y = 1;
				continue;
			}
		}
		if(a[x][y]!=0){
			y--,x--;
			flag = 1;
		}
		
	}
	for(int i = 1;i<=n;i++){
		for(int j = 1;j<=n;j++){
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}
}
2021/8/27 15:07
加载中...