分析不出问题,大神求解
查看原帖
分析不出问题,大神求解
1313312
zzdkf20081224楼主2024/7/10 12:32
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,a[40][40]={0},x,y;
	cin>>n;
	a[1][n/2+1]=1;
	x=1;//行
	y=n/2+1;//列 
	for(int i=2;i<=n*n;i++){
		if(x==1&&y!=n){
			x=n,y++;
			a[x][y]=i;
		}
		if(x!=1&&y==n){
			x--,y=1;
			a[x][y]=i;
		}
		if(x==1&&y==n){
			x++;
			a[x][y]=i;
		}
		if(x!=1&&y!=n){
			if(a[x-1][y+1]==0){
				x--,y++;
				a[x][y]=i;
			}
			else{
				x++;
				a[x][y]=i;
			} 

		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}
	return 0;
}

大神求解哪里有问题

2024/7/10 12:32
加载中...