#include <stdio.h> #include <string.h> #define size 10001 int main() { int s = 1, x = 0, y = 0; char str[size] = {"\0"}; gets(str); int len = 0, i = 0, j = 0; len = strlen(str); for (i = 0; i<len; i++) { s = 0; if(str[i]==';'){continue;} //第一个事分号,直接下一轮 if ((str[i] == 'A') || (str[i] == 'S') || (str[i] == 'D') || (str[i] == 'W')) { //盘第一个字符是移动位,不是移动找到分号39行 j = i + 1; //移动符号下一位 while ((str[j] >= '0') && (str[j] <= '9')) { //找出下一位数字位移s的大小,并j到了数字下一位 s = s * 10 + (str[j] - '0'); j++; } if (str[j] == ';') { //数字下一位是分号就成功移动 if (str[i] == 'A') { x = x - s; } if (str[i] == 'D') { x = x + s; } if (str[i]== 'W') { y = y + s; } if (str[i]== 'S') { y = y - s; } } else{ //否则找到接下来的分号序号给j for(;str[j]!=';';j++); } } else{ //找到分号 for(j=i+1;str[j]!=';';j++); } i=j; //根据,i++,直接下一轮 } printf("%d,%d",x,y); return 0; }