问题描述
- 这个马踏棋盘哪里错了?有人帮忙看下吗?
-
#include“stdio.h"
int count=1;
int dx[8]={-2,-1,1,2,-2,-1,1,2};
int dy[8]={-1,-2,-2,-1,1,2,2,1};
void f1(int a[][8],int x,int y){
int i,j;
printf("count=%dn",count);
if(count==65){
for(i=0;i
for(j=0;j
printf("%d ",a[i][j]);
}
printf("n");
}
}
else{
for(i=0;i
x+=dx[i];
y+=dy[i];
if(x>=0&&y>=0&&x<8&&y<8)
if(a[x][y]==0){
a[x][y]=count++;
f1(a,x,y);
a[x][y]=0;
x-=dx[i];
y-=dy[i];
count--;
}
}
}
}
int main()
{
int a[8][8]={0};
f1(a,0,0);
return 0;
}
解决方案
你这个代码差得太远了。
参考:http://download.csdn.net/detail/vstudent010/585531
http://www.doc88.com/p-9995785429606.html
解决方案二:
http://blog.sina.com.cn/s/blog_6e9342530100wj61.html
解决方案三:
linux 下 可以用gdb单步调试,看看从哪里开始出问题,然后慢慢修改
时间: 2024-12-26 05:21:31