英语翻译(一维map)

题目描述:
王先生不会说英语,他会使用A语言。现在需要你帮助他做一些翻译工作,将输入的A语言单词转换成英语单词。


输入格式:
输入N行词典条目,每行包含一个英语单词、一个空格和一个该英语单词对应的A语言单词。
接着一个空行。
然后是M行需要翻译的A语言单词,每行一个单词。


输出格式:
输出需要翻译的每个A语言单词在词典中对应的英语单词,每行一个单词。如果A语言单词在词典中没出现,就输出“emmm”。


样例输入:
dog ogday
cat atcay
pig igpay
froot ootfray
loops oopslay

atcay
abbitray
oopslay


样例输出:
cat
emmm
loops

 

#include <iostream>
#include <map>
#include <string>
#include <sstream>
using namespace std;
map<string, string> translate;
int main()
{
    string s1,eng,A,trans;
    while (getline(cin, s1))
    {
        if (s1.empty())
            break;
        stringstream ss(s1);
        while (ss >> eng >> A)
        {
            translate[A] = eng;
        }
    }
    while (cin >> trans)
    {
        map<string, string>::iterator ite=translate.begin();
        ite=translate.find(trans);
        if (ite == translate.end())
            cout << "emmm" << endl;
        else
            cout << translate[trans] << endl;
    }
    return 0;
}

 

posted @ 2018-08-06 22:33  uzi2008  阅读(293)  评论(0编辑  收藏  举报