我编写了一个数独谜题代码,目前生成一个有效的数独板,然后根据随机数1-9对每个波段内的每一行进行变异,然后相应地交换每一行。
for(q=0;q<9;q++){
for(j=0;j<9;j++){
printf("%2d",array[q][swap[j]-1]);
}
printf("\n");
}
答案 0 :(得分:1)
这个循环不起作用:
while(q<9){
for(q=0;q<9;q++){
内循环结束后,q
为9
,因此外循环将立即完成。您应该使用两个不同的循环计数器。我认为你只是想拥有
for(j=0;j<9;j++){
for(q=0;q<9;q++){
并且循环中没有g++
,j++
。