求助!输出不对
查看原帖
求助!输出不对
748918
C137_Rain楼主2023/8/10 19:29

是哪里错了

#include<bits/stdc++.h>

using namespace std;

int n;
int a[40][40],h,l;

int main(){
	
	cin >> n;
	h = 1; //目前所在行 
	l = n/2+1; //目前所在列 
	a[h][l] = 1;
	for(int i=2;i<=n*n;i++){
		if(h==1&&l!=n) h = n,l = l+1;
		if(h!=1&&l==n) h = h-1,l = 1;
		if(h==1&&l==n) h = h+1;
		if(h!=1&&l!=n){
			if(a[h-1][l+1]==0&&h>1&&l<n){
				h = h-1; l = l+1;
			}else{
				h = h+1;
			}
		}
		a[h][l] = i;
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cout << a[i][j] << " ";
		}
		cout << endl;
	} 
	
	return 0;
}
2023/8/10 19:29
加载中...