AC

lzhh_lzhh26  •  13天前


#include<bits/stdc++.h>
using namespace std;
int n,cnt=1,i,j;
int a[45][45];		//从[0][0]开始存 
int main(){
	cin>>n;
	a[0][n/2]=cnt;
	cnt++;
	j=n/2;
	while(cnt<=n*n){
		i--;
		j++;
		if(i<0&&j>=n){		//右上角 
			i=1;
			j=n-1;
		}else{
			if(i<0) i=n-1;
			if(j>=n) j=0;
		}
		if(a[i][j]!=0){		//右上角有数字了 
			i+=2;
			j--;
		}
		a[i][j]=cnt;
		cnt++;
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			cout<<a[i][j]<<' ';
		}
		cout<<endl;
	} 
	return 0;
} 

评论:

请先登录,才能进行评论