读入两个小于100的正整数A和B,计算A+B。需要注意的是:A和B的每一位数字由对应的英文单词给出。
输入
测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。
输出
对每个测试用例输出1行,即A+B的值。
样例输入
one + two = three four + five six = zero seven + eight nine = zero + zero =
样例输出
3 90 96
#include <iostream> #include <string> #include <sstream> using namespace std; int to(string str){ if(str=="one") return 1; else if(str=="two") return 2; else if(str=="three") return 3; else if(str=="four") return 4; else if(str=="five") return 5; else if(str=="six") return 6; else if(str=="seven") return 7; else if(str=="eight") return 8; else if(str=="nine") return 9; else if(str=="zero") return 0; else return 0; } int main() { string a,b,c,d,e; int m,n; string s; while(getline(cin,s)) { stringstream sin(s); sin>>a>>b; if(b=="+") { m=to(a); } else { m=to(a)*10+to(b); sin>>b; } sin>>c>>d; if(d=="=") n=to(c); else { n=to(c) * 10 + to(d); } if(n == 0&&m == 0) break; cout<<m+n<<endl; } return 0; }