基于C语言的9*9数独生成器
题目要求如下图所示:
我们采用的思路是首先生成一个完整的9*9数独,然后再随机挖空,这样就形成了一个数独局面。
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int sudo[9][9], hole[9][9];
bool set(int x, int y, int val)
{
if (sudo[y][x] != 0)
return false;
int x0, y0;
for (x0=0; x0<9; x0++)
{
if (sudo[y][x0] == val)
return false;
}
for (y0=0; y0<9; y0++)
{
if (sudo[y0][x] == val)
return false;
}
for (y0=y/3*3; y0<y/3*3+3; y0++)
{
for(x0=x/3*