求助,能不能看一下循环哪里错了
查看原帖
求助,能不能看一下循环哪里错了
786844
wang126179楼主2022/10/13 09:11
#include<bits/stdc++.h>    
using namespace std;
int a[20][20];
int main(){
	memset(a,0,sizeof(a));
	int b=1;
	int x=0,y=0,n;
	cin>>n;
	a[x][y]=1;
	while(b<=n*n){
		while(y<n-1 && !a[x][y+1]) a[x][++y]=++b;
		while(x<n-1 && !a[x+1][y]) a[++x][y]=++b;
		while(y>0 && !a[x][y-1]) a[x][--y]=++b;
		while(x>0 && !a[x-1][y]) a[--x][y]=++b;
	}
	
	for (int i=0;i<n;i++)
	{
		for (int j=0;j<n;j++)printf("%3d",a[i][j]);
		printf("\n");	
	}	
	
	return 0;
} 
2022/10/13 09:11
加载中...