求帮忙看看是什么问题
查看原帖
求帮忙看看是什么问题
369767
ANGELA2002楼主2022/3/6 18:00
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,x=0,y=0,d=1;
	int dx[]={-1,0,1,0};
	int dy[]={0,1,0,-1};//上、右、下、左 
	cin>>n;
	int g[n][n]={0};
	for(int i=1;i<=n*n;i++){
		g[x][y]=i;
		int a=x+dx[d];
		int b=y+dy[d];
		if(a<0||a>=n||b<0||b>=n||g[a][b]){//越界 
			d=(d+1)%4;
			a=x+dx[d];
			b=y+dy[d];
		}
		x=a;
		y=b;
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			cout<<setw(3)<<g[i][j]<<" ";
		}
		cout<<endl;
	}
} 
2022/3/6 18:00
加载中...