10分求,急
查看原帖
10分求,急
1040177
xkdd楼主2023/12/3 12:15
#include<bits/stdc++.h>
using namespace std;
int hf[40][40];
int main(){
	int n;
	cin>>n;
	hf[0][n/2]=1;
	int cnt=1,x=0,y=n/2;
	for(int i=2;i<=n*n;i++){
		cnt++;
		if(x=0&&y!=n-1){
			hf[n-1][y+1]=cnt;
			x=n-1;
			y++;
		}else if(x!=0&&y==n-1){
			hf[x-1][0]=cnt;
			x--;
			y=0;
		}else if(x==0&&y==n-1){
			hf[x+1][y]=cnt;
			x++;
		}else if(x!=0&&y!=n-1){
			if(hf[x-1][y+1]==0&&x-1>=0&&y+1<=n){
				hf[x-1][y+1]=cnt;
				x--;
				y++;
			}else{
				hf[x+1][y]=cnt;
				x++;
			}
		}
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			cout<<hf[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}
2023/12/3 12:15
加载中...