用c语言解决八皇后问题,要求第一个皇后位置用键盘输入,需要详细代码和解释,谢谢、 5

 我来答
风之圣翼
2012-01-12 · 超过23用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:56.3万
展开全部
#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 <k ;i++)
if(row [i] == j || (k-i) == abs(row[i] - j))
break;
if(i>=k) //成立说明第k列的第j行可用,则放置一个皇后
{
row [k] = j;
arrange(k+1); //安排第k+1列至第八列皇后
}
}
}
void main()
{
arrange(1);
}
这是全部八皇后的可能性的代码,其中主要算法以及有了,相信你可以自己改出来的,否则直接给你的话就没有意义了。。。

声明,这段代码摘自西南交大《c程序设计教程》。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式