永发信息网

C语言小程序,函数问题

答案:1  悬赏:50  手机版
解决时间 2021-05-17 00:08

//=================================================

//=================================================
#include <stdio.h>
#define MAXQUEEN 8

int pad[MAXQUEEN][MAXQUEEN]={
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0
};
//放N个皇后的递归函数
int putqueen(int x,int y,int times)
{
int i,j,result=0;
if(times>MAXQUEEN)
return 1;
else
if(plce(x,y))//检查是否可放置皇后
{
pad[x][y]=1;// 放置皇后
for(i=0;i<MAXQUEEN;i++)
for(j=0;j<MAXQUEEN;j++)
{ //递归调用,放置下一个皇后
result+=putqueen(i,j,times+1);
if(result>0)
break;
}
if(result>0)//找到了解
return 1;
else
{
pad[x][y]=0;// 清除皇后
return 0;
}
}
else
return 0;
}
//检查皇后是否相互攻击
int plce(int x ,int y)
{
int x1,y1;
if(pad[x][y]!=0)//已放置皇后
return 0;
x1=x-1;
y1=y-1;
while(x1>=0&&y1>=0)
if(pad[x1--][y1--]!=0)//检查左上方
return 0;
x1=x+1;
y1=y+1;
while(x1<MAXQUEEN&&y1<MAXQUEEN)
if(pad[x1++][y1++]!=0)//检查右下方
return 0;
x1=x+1;
y1=y-1;
while(x1<MAXQUEEN&&y1>=0)//右上方
if(pad[x1++][y1--]!=0)
return 0;
x1=x-1;
y1=y+1;
while(x1>=0&&y1<MAXQUEEN)//检查左下
if(pad[x1--][y1++]=0)
return 0;
x1=x;
y1=y+1;
while(y1<MAXQUEEN)//检查下方
if(pad[x1][y1++]!=0)
return 0;
x1=x;
y1=y-1;
while(y1>=0)//检查上方
if(pad[x1][y1--]!=0)
return 0;
x1=x+1;
y1=y;
while(x1<MAXQUEEN)//检查右方
if(pad[x1++][y1]!=0)
return 0;
x1=x-1;
y1=y;
while(x1>=0)//检查左方
if(pad[x1--][y1]!=0)
return 0;
return 1;
}
//
void main()
{

int i,j;
putqueen(0,0,1);
printf("放置八皇后的棋盘图形:\n");
for(i=0;i<MAXQUEEN;i++)
{
for(j=0;j<MAXQUEEN;i++)
printf("%d",pad[j][j]);
printf("\n");
}
}

为什么

if(plce(x,y))//检查是否可放置皇后

这行中plce函数调用发生错误

int plce(int x ,int y)
{

这条显示类型不匹配

最佳答案

你用的是什么编译器啊,我没有这样的错误提示。不过你的程序有问题,运行结果不正确。


有个警告。


if(pad[x1--][y1++]=0)
这里用了个赋值"="而不是比较


这道题我做过,我是用1维数组做的,因为每列只能有一个皇后,所以用1维数组会简单些。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
魔兽世界 账号购买问题
人民名义经典台词,人民的名义台词有哪些
帮找几个本科英语专业的论文网
动感地带800多个积分能换什吗?
华容县岳阳3A环保漆在什么地方啊,我要过去处
下一站幸福里吴建豪的发型怎么弄
诺基亚1680c的问题
怎样把图象上传到空间
巴士新新26路何时置换成超级电容车?
帮个忙!我想考设计专业
岳麓区长沙欧惠尔地板我想知道这个在什么地方
水真的有自净的功能?为什么水还是黑的?
爱不单行的歌词
襄樊B照多少钱?
詹姆斯PK科比、谁最强?
推荐资讯
我的QQ拼音图标灭了,如何点亮
天元区株洲巴陵亿口香龙虾这个地址在什么地方
郏县平顶山秦记滋补烩面城地址在哪里啊
这是啥蜥蜴。。。。
中央8套意难忘什么时候能演完?
帝國2的問題
一种农药,按药粉和水的比是1:1000配制而成
征服35岁女人的句子
肿眼泡画什么颜色眼影,画淡妆应该画什么颜色
崇阳县咸宁湖北崇阳农村商业银行24小时自助银
方城县南阳南粉北面(方城店)怎么去啊,谁知道
一件装备一星为乾卦二星为离卦请问会有双重效
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?