33,311
社区成员
发帖
与我相关
我的任务
分享
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
//#define local
char a[100][100];
char move[100];
int x, y;
int count=1;
int main()
{
while (gets_s(a[0], 100))//vs写的所以用的gets_s
{
int n = 0;
int mark = 0;
//printf("Z:%s\n", a[0]);
if (a[0][0] == 'Z') break;
for (int i = 1; i < 5; i++)//读入a
gets_s(a[i], 100);
for (int j = 0; j < 5; j++)
for (int i = 0; i < 5; i++)
if (a[i][j] == ' ')
{
x = i; y = j;
}
while ((move[n++] = getchar()) != 'O');//读入行走的路径
getchar();//把回车给吃掉防止下次
printf("move\n");
n = 0;
while (move[n++] != 'O')//开始判断
{
switch (move[n - 1])
{
case 'A':
{
a[x][y] = a[x - 1][y];
x--;
break;
}
case 'B':
{
a[x][y] = a[x + 1][y];
x++;
break;
}
case 'L':
{
a[x][y] = a[x][y - 1];
y--;
break;
}
case 'R':
{
a[x][y] = a[x][y + 1];
y++;
break;
}
default:break;
}
if (x < 0 || x>4 || y < 0 || y>4)
{
mark = 1;
break;
}
}
a[x][y] = ' ';
printf("Puzzle #%d:\n", count);//输出
if (mark == 0)
{
for (int i = 0; i < 5; i++)
{
{
printf("%c %c %c %c %c\n", a[i][0], a[i][1], a[i][2], a[i][3], a[i][4]);
}
}
}
else
{
printf("This puzzle has no final configuration.\n");
}
//printf("count:%d\n", count);
count++;
printf("\n");
}
return 0;
}
if (x < 0 || x>4 || y < 0 || y>4)
{
mark = 1;
break;
}
[/quote]if (x < 0 || x>4 || y < 0 || y>4)
{
mark = 1;
break;
}
while ((move[n++] = getchar()) != 'O');//读入行走的路径
。
while (move[n++] != 'O')//开始判断