“九宫阵”智力游戏。用C++编程

来源:百度知道 编辑:UC知道 时间:2024/06/24 16:22:06
一个9×9方阵,由9个“九宫格”组成,每个九宫格又由3×3共9个小格子组成。请在每个空白小格子里面填上1~9的数字,使每个数字在每个九宫格内以及在整个九宫阵中的每行、每列上均出现一次。
9 4 5 7
3 7 9 4
3 6 8 9
3 1
4 2 3
1 2 3
8 5
6 2 9
2 1 8
详情请参考2005-12-3羊城晚报

123456789
456789123
789123456
231564897
564897231
897231564
312645978
645978312
978312645

程序如下:
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
int a[9][9];
int i,j,k,l;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
for (k = 0; k < 3; k++)
for (l = 0; l < 3; l++)
{
int x = k*3 + l;
x = (x%3) + ((x/3 + j)%3)*3;
x = x/3*3 + ((x + i)%3);

a[i*3 + k][j*3 + l] = x + 1;
}

for (i = 0; i < 9; i++)
{
for (j = 0; j < 9; j++)
{
printf("%d &q