diff --git a/shengcheng.c b/shengcheng.c new file mode 100644 index 0000000..54e65b0 --- /dev/null +++ b/shengcheng.c @@ -0,0 +1,50 @@ +#include +#include +#include + +void print_sudoku(char sudoku[9][9]) { + for (int i = 0; i < 9; i++) { + if (i % 3 == 0 && i != 0) { + printf("-------------------------\n"); + } + for (int j = 0; j < 9; j++) { + if (j % 3 == 0 && j != 0) { + printf("| "); + } + printf("%c ", sudoku[i][j]); + } + printf("\n"); + } +} + +int main() { + char sudoku_board[9][9]; + + // 初始化随机数种子 + srand(time(NULL)); + + // 生成不完整数独盘 + for (int i = 0; i < 9; i++) { + for (int j = 0; j < 9; j++) { + sudoku_board[i][j] = '.'; + } + } + + for (int i = 0; i < 9; i++) { + for (int count = 0; count < 3; count++) { + int j; + do { + j = rand() % 9; + } while (sudoku_board[i][j] != '.'); + int x; + do { + x = (rand() % 9) + 1; + } while (strchr(sudoku_board[i], x + '0')); + sudoku_board[i][j] = x + '0'; + } + } + + print_sudoku(sudoku_board); + + return 0; +}