数字九宫格
九宫格就是3*3的方格。把1~9填入九个方格中。要求水平、竖直、对角线方向上,每三个数字相加和都是15.求9个数字如何摆放?

这个题我们小学都玩过:
最简单的,最笨的方法是一个一个的尝试;
诀窍:
1.从第一列中间方格开始;
2.下一个数字应该“左上角”;
3.如果重复,则放到右边方格。
左出右入;上出下入

诀窍不单单适用于3*3的九宫格,像5*5,7*7,11*11等都适用。

数据结构分析:
二维数组,利用每维的下标来控制放置数字,利用诀窍判断下标。

将i放入方格a[x][y],i+1放入方格a[x1][y1]
左上角原则:x1=x-1; y1=y-1;
左出右入:x1=x-1; y1=2;
上出下入:x1=2; y1=y-1;
占位右移:x1=x; y1=y+1;

for(i=2;i<10;i++)
{
    x1=x1; y1=y-1;
    if(y1<0)  y1=2;
    if(x1<0)  x1=2;
    if(a[x1][y1]!=0)
    {
        x1=x; y1=y+1;
    }
    a[x1][y1]=i;
    x=x1; y=y1;
}