题目大意
解题思路
(1) 利用map
进行映射
(2) getline(cin, s)
: 会吃以前的回车,会把当前行的回车仍地,cin
不会吃以前的回车,会留一个回车给后面。
(3) substr(start_pos, len)
,当start_pos+len
超出字符串时,默认取到最后。
(4) string.find()
:返回字符所在的位置.
代码
#include<iostream>
#include<map>
#include<stdio.h>
using namespace std;
int main()
{
map<string, string> mi_2_english;
string a, b, c;
while(getline(cin, a))
{
if(a=="") break;
b = a.substr(0, a.find(' '));
c = a.substr(a.find(' ')+1, a.length());
mi_2_english[c] = b;
}
map<string, string>::iterator p;
while(getline(cin,b))
{
if(mi_2_english.find(b) == mi_2_english.end())
cout << "eh" << endl;
else
cout << mi_2_english[b] << endl;
}
return 0;
}