编写一个C程序求解在8X8的象棋格子里指定“马”的初始位置,找出马走步的所有可能的位置

2025-06-22 23:15:07
推荐回答(5个)
回答1:

main()
{
int i,j,x,y;
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
{
x = i+2;y=j+1; if(x>=0&&x<8&&y>=0&&y<8)printf("%d %d\n",x,y);
x = i+1;y=j+2; if(x>=0&&x<8&&y>=0&&y<8)printf("%d %d\n",x,y);
x = i+2;y=j-1; if(x>=0&&x<8&&y>=0&&y<8)printf("%d %d\n",x,y);
x = i+1;y=j-2; if(x>=0&&x<8&&y>=0&&y<8)printf("%d %d\n",x,y);
x = i-1;y=j-2; if(x>=0&&x<8&&y>=0&&y<8)printf("%d %d\n",x,y);
x = i-2;y=j-1; if(x>=0&&x<8&&y>=0&&y<8)printf("%d %d\n",x,y);
x = i-1;y=j+2; if(x>=0&&x<8&&y>=0&&y<8)printf("%d %d\n",x,y);
x = i-2;y=j+1; if(x>=0&&x<8&&y>=0&&y<8)printf("%d %d\n",x,y);
}
}
}
输出结果为:马在任意一个格子所对应的走法.

回答2:

给个算法吧
以当前马的位置为中心点,从12点的位置顺时针方向可以找到8个马可以跳的位置,再判断是不是超出8X8的格子就可以了

回答3:

这是一个四层的树形结构,最后输入第四层的所有节点,尽量自己写吧,有问题再问,我资料里有联系方式

回答4:

不太清楚

回答5:

5745