#include "stdio.h"
#include "math.h"
int row[8];
void arrange(int k)
{
int i,j;
if(k>8){
for(i = 1;i<=8;i++)
printf("%2d\n",row[i]);//k>8时应该输出各列皇后的行号
return ;
}
for(j = 1;j <=8;j++) //试探第k列的每一个行号
{
for(i = 1;i
break;
if(i>=k) //成立说明第k列的第j行可用,则放置一个皇后
{
row [k] = j;
arrange(k+1); //安排第k+1列至第八列皇后
}
}
}
void main()
{
arrange(1);
}
这是全部八皇后的可能性的代码,其中主要算法以及有了,相信你可以自己改出来的,否则直接给你的话就没有意义了。。。
声明,这段代码摘自西南交大《c程序设计教程》。。。