简单模拟a+b

Description

节日即将结束,为了纪念这个愉快的假期,来做到简单的a+b吧
输入两个小于一百的正整数a,b,求他们的和。是不是很简单?
但怎么能就这样呢,我们加点娱乐吧,这两个数的每一位都由它们
对应的英文单词列出。下面就看你的了~~

Input

输入包含多组数据,每组数据占一行,格式为”a + b =”

相邻的两个字符串之间有一个空格隔开。当a,b同时为0的时候退出

Output

每次输入占一行,输入整数表示下的a+b

Sample Input

one + two =
three four + five six =
zero + zero =

Sample Output

3
90

简单模拟

CODE:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <stack>
#include <deque>
#include <map>
#include <set>
#include <vector>
#include <string>
#include <queue>
#include <functional>
#include <time.h>
using namespace std;

int main()
{
    string t[]={"zero","one","two","three","four","five","six","seven","eight","nine"};
    string ch;
    while(cin >> ch)
    {
        int a1,sum1=0;
        for(int i=0;i<10;i++)
            if(t[i]==ch)
                sum1+=i;
        while(cin >> ch)
        {
            if(ch=="+")
                break;
            sum1*=10;
            for(int i=0;i<10;i++)
            if(t[i]==ch)
                a1=i;
            sum1+=a1;
        }
        int sum2=0,a2;
        cin >> ch;
        for(int i=0;i<10;i++)
            if(t[i]==ch)
                sum2+=i;
        while(cin >> ch)
        {
            if(ch=="=")
                break;
            sum2*=10;
            for(int i=0;i<10;i++)
            if(t[i]==ch)
                a2=i;
            sum2+=a2;
        }
        if(sum1==0&&sum2==0)
            return 0;
        cout << sum1 + sum2 << endl;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/AC__GO/article/details/81178762