1010.A+B

题目描述:
读入两个小于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<cstring>
using namespace std;

int change(string str){
    if(str=="zero") return 0;
    else 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;
}

int main(){
    string s;
    int a,b;
    while(cin>>s){
        if(s!="+" && s!="=") a=change(s)+10*a;
        else if(s=="+"){
            b=a;
            a=0;
        }
        else {
            if(a==0 && b==0) return 0;
            else cout<<a+b<<endl;
            a=b=0;
        }
    }
    return 0;
}
原文地址:https://www.cnblogs.com/bernieloveslife/p/9736505.html