字符串的问题我基本上都暴力解决了,这道题也是一样
#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; }