c++非正则表达式
首先将输入的字符串分割 采用getline(cin,char *s,char t)方法:
1.getline(输入流,装载输入流的缓冲区,分割符默认是,'\n'换行符)。本题是以';'进行分割的
- 构造函数识别全数字的方法isNum()
具体代码实现如下
#include <string.h>
using namespace std;
bool isNum(string s){
int len=s.size();
for(int i=0;i<len;i++){
if('0'<=s[i]&&s[i]<='9')continue;
else return false;
}
return true;
}
int main(){
string s;
pair<int,int>p(0,0);
while(getline(cin, s, ';')){
if(s.empty())continue;
string s1=s.substr(1);
if(isNum(s1)){
switch(s[0]){
case 'A':
p.first-=stoi(s1);
break;
case 'D':
p.first+=stoi(s1);
break;
case 'W':
p.second+=stoi(s1);
break;
case 'S':
p.second-=stoi(s1);
break;
default:
break;
}
}
}
cout<<p.first<<","<<p.second;
return 0;
}