问题描述:
将1-9,,9个数字填入3*3的方格中,使得每行,列,对角线和相等。
(将1填入第一列中间位置,然后依次填入前一个数左上角位置,原则:左出右入,上出下入,占位右移)
#include<stdio.h>
int main()
{
int a[3][3],i,j,x=1,y=0,x1,y1;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
a[i][j]=0;
}
}
a[x][y]=1;
for(i=2;i<10;i++)
{
x1=x-1;y1=y-1;
if(x1<0) x1=2;
if(y1<0) y1=2;
if(a[x1][y1]!=0)
{
x1=x;
y1=y+1;
}
a[x1][y1]=i;
x=x1;
y=y1;
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}