得不出正确结果 求大佬教 c语言
查看原帖
得不出正确结果 求大佬教 c语言
610804
as13249320351楼主2021/11/22 20:13
#include <stdio.h>
int main()
{
	int a[40][40]={0};
	int x,y,n,i,k;
	scanf("%d",&n);
	x=0;
	y=(n+1)/2-1;
	for(i=1;i<n*n;i++)
	{
		for(k=i;k<n*n;k++)
		{
			if(k==1)
		    {
			    a[x][y]=k;
		    }
		    if(x!=0&&y==n-1)
		    {
	    	    y=0;
	         	a[x][y]=k;
	    		break;
		    }
	    	if(x==0&&y!=n-1)
    		{
	    		y++;
	    		x=n-1;
	    		a[x][y]=k;
	    		break;
     		}
    		if(x==0&&y==n-1)
	    	{
    			x++;
    			a[x][y]=k;
    			break;
    		}
	    	if(x!=0&&y!=n-1)
	    	{
	    		x--;
	    		y++;
	    		if(a[x][y]!=0)
	    		{
	    			x+=2;
	    		}
    			a[x][y]=k;
	    		break;
	    	}
		} 
	}
	for(x=0;x<n;x++)
	{
		for(y=0;y<n;y++)
		{
			printf("%d ",a[x][y]);
		}
		printf("\n");
	}
	return 0;
}
 
2021/11/22 20:13
加载中...