给空格子上下左右的互换操作,问最后是怎样的
注意一行的最后一个若是空格,需要自己加
注意读取时 操作可能分好多行,一定要读取到 0 为止
1 #include <iostream> 2 #include <cstring> 3 using namespace std; 4 char map[50][50],op[1000],c,tmp; 5 int k,t,x,y,cnt; 6 bool flag; 7 void fuc() 8 { 9 flag=1; 10 for(int i=0;op[i]!='0';i++) 11 { 12 if(flag==0) break; 13 else if(op[i]=='A') 14 { 15 if(x-1>=0) 16 { 17 tmp=map[x-1][y]; 18 map[x-1][y]=' '; 19 map[x][y]=tmp; 20 x--; 21 } 22 else flag=0; 23 } 24 else if(op[i]=='B') 25 { 26 if(x+1<=4) 27 { 28 tmp=map[x+1][y]; 29 map[x+1][y]=' '; 30 map[x][y]=tmp; 31 x++; 32 } 33 else flag=0; 34 } 35 else if(op[i]=='R') 36 { 37 if(y+1<=4) 38 { 39 tmp=map[x][y+1]; 40 map[x][y+1]=' '; 41 map[x][y]=tmp; 42 y++; 43 } 44 else flag=0; 45 } 46 else if(op[i]=='L') 47 { 48 if(y-1>=0) 49 { 50 tmp=map[x][y-1]; 51 map[x][y-1]=' '; 52 map[x][y]=tmp; 53 y--; 54 } 55 else flag=0; 56 } 57 } 58 } 59 int main() 60 { 61 k=1; 62 while(gets(map[0])) 63 { 64 if(map[0][0]=='Z'&&map[0][1]=='