我这find没找到怎么返回一个无穷大数,不是-1。。。。。
#include<bits/stdc++.h>
using namespace std;
map<string,int> m = {{"one",1},{"two",2},{"three",3},{"four",4},{"five",5},
{"six",6},{"seven",7},{"eight",8},{"nine",9},{"zero",0}
};
string s,a,b;
int u,v;
int fun(string ss){
string s1 = ss.substr(0,ss.find(" "));
string s2 = ss.substr(ss.find(" ")+1);
// cout<<s1<<" ----"<<s2<<endl;
return m[s1]*10+m[s2];
}
int main(){
while(getline(cin,s)){
int x = s.find('+');
int y = s.find('=');
// cout<<x<<" "<<y<<endl;
a = s.substr(0,x-1);
b = s.substr(x+2,y-x-3);
// cout<<"a="<<a<<",b="<<b<<endl;
u = m[a];
v = m[b];
// cout<<a.find(' ')<<"========="<<b.find(' ')<<endl;
if(a.find(' ')<100){
u = fun(a);
}
if(b.find(' ')<100){
v = fun(b);
}
if(u!=0 && v!=0)
cout<<u+v<<endl;
}
return 0;
}