您的位置:首页 > 编程语言 > C语言/C++

C语言-九宫格

2015-10-06 11:36 483 查看

问题描述:

将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");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: