字符串的问题我基本上都暴力解决了,这道题也是一样
#include<iostream>
using namespace std;
string str;
int x,y;
void pos(char ch,int dis){
switch(ch){
case 'A':
x-=dis;
break;
case 'D':
x+=dis;
break;
case 'W':
y+=dis;
break;
case 'S':
y-=dis;
break;
}
}
int main(){
while(getline(cin,str)){
int i=0;
x=0,y=0;
char ch;
while(i<str.length()){
if(str[i]>='A'&&str[i]<='Z'){
ch=str[i];
i++;
int tmp=0;
while(str[i]>='0'&&str[i]<='9'){
tmp=tmp*10+(str[i]-'0');
i++;
}
//是分号说明正确就计算
if(str[i]==';'&&tmp>0&&tmp<100){
pos(ch,tmp);
}
i++;
}else{
i++;
}
}
cout<<x<<','<<y<<endl;
}
return 0;
} 
京公网安备 11010502036488号