使用宏定义 #define N 3 定义了九宫格的大小为3x3。
printBoard 函数用于打印当前九宫格的状态。
isSolved 函数用于检查当前九宫格是否已经完成了重排,即所有数字是否按照从左到右、从上到下的顺序排列。
swap 函数用于交换两个数字的位置。
shuffle 函数用于随机打乱九宫格的数字。
在 main 函数中,我们先定义了一个初始状态的九宫格 board,其中数字0代表空格。
使用 shuffle 函数随机打乱了九宫格的数字。
在一个 while 循环中,程序不断接受用户输入的移动方向,并根据输入的方向移动空格,直到九宫格被正确重排为止。
在每次循环中,首先打印当前九宫格的状态,然后接受用户输入的移动方向。
根据用户输入的移动方向,判断移动是否合法,如果合法则进行移动,否则忽略该操作。
当九宫格被正确重排时,程序退出循环,输出祝贺消息。