九宫格:将1~9不重复的填入3X3的格子里,使横,竖,斜数字相加都相等.
谢谢诸位了!
 
										
					
	 
										
					
	 2007-03-28 19:11
	    2007-03-28 19:11
  
 2007-03-28 21:37
	    2007-03-28 21:37
  这个好象以前做过

 2007-03-28 22:18
	    2007-03-28 22:18
  那是不是先要算出,加起来应该是多少? 是的话还是想不出怎样计算每组的和. 
										

 2007-03-31 14:15
	    2007-03-31 14:15
   2007-04-02 00:56
	    2007-04-02 00:56
   2007-04-02 15:05
	    2007-04-02 15:05
  //终于知道算法了,还以为是要产生一组随机数来一个个的测试.
void array(int a[3][3])  
{
    int k = 1,
        i = 0,
        j = 1;
    a[0][1] = k++;
    while (k <= 9)
    {
        i--;
        j++;
        if (i < 0 && j > 2)
        {
            i += 2;
            j --;
        }
        if (i < 0)
        {
            i = 2;
        }
        if (j > 2)
        {
            j = 0;
        }
            
        if (a[i][j] == 0)
        {
            a[i][j] = k++;
        }
        else
        {
            i += 2;
            j--;
            a[i][j] = k++;
        }
    }
}

 2007-04-20 13:17
	    2007-04-20 13:17
   2007-04-20 13:41
	    2007-04-20 13:41
  #include "stdio.h"
void array(int a[3][3])  
{
    int k = 1,
        i = 0,
        j = 1;
    a[0][1] = k++;
    while (k <= 9)
    {
        i--;
        j++;
        if (i < 0 && j > 2)
        {
            i += 2;
            j --;
        }
        if (i < 0)
        {
            i = 2;
        }
        if (j > 2)
        {
            j = 0;
        }
            
        if (a[i][j] == 0)
        {
            a[i][j] = k++;
        }
        else
        {
            i += 2;
            j--;
            a[i][j] = k++;
        }
    }
}
main()
{   int a[3][3]={0};
 array(a);
 for(int i=0;i<3;i++)
 {
  for( int j=0;j<3;j++)
  {
   printf("  %d  ",a[i][j]);
  }
  printf("\n");
}
}
我把测试数据也给了,就是不知道为什么?再顶一下

 2007-04-20 13:42
	    2007-04-20 13:42
   2007-04-20 14:25
	    2007-04-20 14:25