思路
利用穷举法
C语言代码
#include
//负责输出二维数组的一行,并给数组添加格式
void row_output(int i, int x[9][9])
{
int j, flag;
for (j = 0; j < 9; j++)
{
//检查是否为3的倍数
flag = (j + 1) % 3;
//当是3的倍数时加入两个空格
if (flag == 0)
printf("%d ", x[i][j]);
//否则加入一个空格
else
printf("%d ", x[i][j]);
}
}
//负责按照九宫格的形式将数组输出
void output(int x[9][9])
{
int i, flag;
for (i = 0; i < 9; i++)
{
//检查是否为3的倍数
flag = (i + 1) % 3;
row_output(i, x);
//当是3的倍数时加入两个空行
if (flag == 0)
printf("\n\n");
//否则加入一个空行
else
printf("\n");
}
}
//validate函数负责检查下x[i][j]是否为可行