帮帮忙编程:马踏棋盘(用数据结构(C语言版))

来源:百度知道 编辑:UC知道 时间:2024/06/21 18:42:39
用数据结构(C语言版)编写程序,实现一个国际象棋的马踏遍棋盘的演示程序。具体要求为:将马随机放在国际象棋的8*8棋盘的某个方格中,马按走棋规则进行移动。要求每个方格只进入一次,走遍棋盘上全部64个方格。用堆栈编制非递归程序求出马的行走路线,并按求出的行走路线,将数字1,2,3,……,64依次填入一个8*8的方阵,输出之。

#include <stdio.h>

int f[11][11] ;
int adjm[121][121];
long fgf;
void creatadjm(void);
void e(int,int,int,int);
void travel(int,int);

int n,m;

int main()
{
int i,j,k,l;
printf("Input n:");scanf("%d",&n);
m=n*n;
creatadjm();
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++) printf("%2d",adjm[i][j]);
printf("\n");
}
getchar();
printf("Input i,j:");
scanf("%d %d",&i,&j);
l=(i-1)*n+j;
while ((i>0)||(j>0))
{
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
f[i][j]=0;
k=0;

travel(l,k);
printf("%d\n",fgf);fgf=0;

for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++) printf("%4d",f[i][j]);