
要用纯C语言写出,并且是要在运行时输入迷宫,我只成功的写出来在代码里输入迷宫,但如何在运行时输入迷宫并成功输出一直未能成功。
#include "stdio.h"
void search(int i,int j); //路径寻找,要求使用递归
int arr[8][8];
int n=0;
int c=1;
int main( )
{
int i,j;
/*
0 0 0 1 0 0 0 0
0 1 1 1 1 1 1 1
0 0 0 1 0 0 0 1
0 1 0 1 0 1 0 1
0 1 0 0 0 1 0 1
0 1 1 1 1 1 0 1
0 1 0 0 0 1 0 0
0 1 0 0 0 0 1 0
*/
printf("输入自定义迷宫:\n");
for(i=0;i<8;i++)
for(j=0;j<8;j++)
{
scanf("%d",&arr[i][j]);
}
search(0,0);
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
printf("%3d",arr[i][j]);
printf("\n");
}
printf("共有%d种方案\n",n);
return 0;
}
void search(int i, int j)
{
if(i==7 && j==7)
{
arr[i][j]=c;
n++;
}
if(i<0 || j<0 || i>7 || j>7) return 0;
if(arr[i][j]>0) return 0;
arr[i][j]=c;
c++;
if(n==0)
search(i+1,j);
if(n==0)
search(i-1,j);
if(n==0)
search(i,j+1);
if(n==0)
search(i,j-1);
if(n==0) {arr[i][j]=0;c--;}
}

数字就是路径 你也可以改成你的 字母儿