求一个判断数组是否被访问过的方法(bool不会用求dalao写个码教一下)
查看原帖
求一个判断数组是否被访问过的方法(bool不会用求dalao写个码教一下)
790685
bluetored楼主2022/9/22 21:40
#include <stdio.h>
int main ()
{
	int n;
	scanf ("%d",&n);
	int a[40][40];
	int b[40][40];
	int x=1,y;
	y=n/2+1;
	a[x][y]=1;
	for(int i=1;i<=n;i++)
	{
	for(int j=0;j<=n;j++)
	    {
	    	b[i][j]=0;
		}	
	} 
	b[x][y]=1;
	for (int i=2;i<=n*n;i++)
	{
		if (x==1&&y!=n)
		{
			x=n;
			y=y+1;
		}
		else if(y==n&&x!=1)
		{
			y=1;
			x=x-1;
		}
		else if(x==1&&y==n)
		{
			x=x+1;
		}
		else if(x!=1&&y!=n)
		{
	    	x=x-1;
			y=y+1;
			if(b[x][y]==1)
			{
				x=x+2;
				y=y-1;
			}
		}
		b[x][y]=1;
        a[x][y]=i;
	}
	for(int i=1;i<=n;i++)
	{
	for(int j=1;j<=n;j++)
	    {
	    	printf ("%d ",a[i][j]);
		}	
		printf ("\n");
	} 
	return 0;
}
2022/9/22 21:40
加载中...