题目大意:就是构建一个字典,用来查询单词。
阶梯思路:用stl map,用来一一对应单词。然后string可能不支持printf,之前一直都错在这里。然后前面输入的需要注意一下,接受空行用gets和s【0】 == ‘\0’结合判断。
#include<iostream>
#include<stdio.h>
#include<map>
#include<string>
using namespace std;
map<string, string> vis;
map<string, string>::iterator it;
char s[30];
int main() {
char s1[20], s2[20];
while (gets(s) != NULL && s[0] != ‘\0‘) {
sscanf(s, "%s%s", s1, s2);
vis[s2] = s1;
}
while (scanf("%s", s) == 1) {
it = vis.find(s);
if (it != vis.end())
cout<< vis[s]<<endl;
else
printf("eh\n");
}
return 0;
}10282 - Babelfish(stl map),布布扣,bubuko.com
原文:http://blog.csdn.net/u012997373/article/details/22689243