可以請各位替小弟看看哪裡該修正嗎,拜託了~
題目如下


小弟的code:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
int dir;
int i=0;
int j=0;
int p=0;
int q=0;
char m ='B';
char rw[10][10];
for(p=0;p<=9;p++)
{
for(q=0;q<=9;q++)
{
if(p==0&&q==0)
rw[p][q]='A';
else
rw[p][q]='.';
}
}
srand(time(0));
for(m='B';m<='Z';m++)
{
dir=(rand()%4)+1;
if(i==0&&j==0)
while(
(dir==1)||
(dir==4)||
((dir==2)&&(rw[i][j+1]!='.'))||
((dir==3)&&(rw[i+1][j]!='.'))
)
dir=(rand()%4)+1;
else if(i==0&&j==9)
while(
(dir==1)||
(dir==2)||
((dir==3)&&(rw[i+1][j]!='.'))||
((dir==4)&&(rw[i][j-1]!='.'))
)
dir=(rand()%4)+1;
else if(i==9&&j==9)
while(
(dir==2)||
(dir==3)||
((dir==1)&&(rw[i-1][j]!='.'))||
((dir==4)&&(rw[i][j-1]!='.'))
)
dir=(rand()%4)+1;
else if(i==9&&j==0)
while(
(dir==3)||
(dir==4)||
((dir==2)&&(rw[i][j+1]!='.'))||
((dir==1)&&(rw[i-1][j]!='.'))
)
dir=(rand()%4)+1;
else if(i==0&&j!=0&&j!=9)
while(
(dir==1)||
(dir==3&&rw[i+1][j]!='.')||
((dir==2)&&(rw[i][j+1]!='.'))||
((dir==4)&&(rw[i][j-1]!='.'))
)
dir=(rand()%4)+1;
else if(j=0&&i!=0&&i!=9)
while(
(dir==4)||
((dir==2)&&(rw[i][j+1]!='.'))||
((dir==3)&&(rw[i+1][j]!='.'))||
((dir==1)&&(rw[i-1][j]!='.'))
)
dir=(rand()%4)+1;
else if(i==9&&j!=0&&j!=9)
while(
(dir==3)||
((dir==2)&&(rw[i][j+1]!='.'))||
((dir==1)&&(rw[i-1][j]!='.'))||
((dir==4)&&(rw[i][j-1]!='.'))
)
dir=(rand()%4)+1;
else if(j==9&&i!=0&&i!=9)
while(
(dir==2)||
((dir==3)&&(rw[i+1][j]!='.'))||
((dir==1)&&(rw[i-1][j]!='.'))||
((dir==4)&&(rw[i][j-1]!='.'))
)
dir=(rand()%4)+1;
else if(1<=i&&1<=j&&i<=8&&j<=8)
while(
((dir==1)&&(rw[i-1][j]!='.'))||
((dir==2)&&(rw[i][j+1]!='.'))||
((dir==3)&&(rw[i+1][j]!='.'))||
((dir==4)&&(rw[i][j-1]!='.'))
)
dir=(rand()%4)+1;
if(dir==1) {
i=i-1;
rw[i][j]=m;
}
else if(dir==2) {
j=j+1;
rw[i][j]=m;
}
else if(dir==3) {
i=i+1;
rw[i][j]=m;
}
else if(dir==4) {
j=j-1;
rw[i][j]=m;
}
}
for(p=0;p<=9;p++)
{
for(q=0;q<=9;q++)
{
printf("%c ",rw[p][q]);
}
printf("\n");
}
printf("\n");
system("pause");
return 0;
}





























































































