英语翻译(一维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; }