one + two = 3

读入两个小于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;
}

 

转载于:https://www.cnblogs.com/Lazy-Cat/p/9838473.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值