Time Limit: 3000MS | Memory Limit: 65536K | |
Total Submissions: 37006 | Accepted: 15769 |
Description
Input
Output
Sample Input
dog ogday cat atcay pig igpay froot ootfray loops oopslay atcay ittenkay oopslay
Sample Output
cat eh loops
Hint
Source
题意:开始输入一本字典 每行输入英语单词 火星语. 然后有一个空行 下面输入的是需要查的火星语 输出对应的英语单词 如果没有英语单词 就输出"eh".
知识点: 1.map的初步学习<了解了映射 >
2.sscanf的使用 拆分作用
while(gets(s))
{
if(strlen(s)==0)
break;
sscanf(s,"%s%s",s1,s2);这里的sscanf把s这个串拆成s1和s2两个字符串 <也可以适用于拆分多个字符串 >
m[s2]=s1;///映射
}
3.还有用gets输入 当输入只有一个回车键的时候 这个串的长度是0
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<map>
#include<algorithm>
using namespace std;
char s[200],s1[200],s2[200];
int main()
{
map< string,string >m;
while(gets(s))
{
if(strlen(s)==0)
break;
sscanf(s,"%s%s",s1,s2);
m[s2]=s1;
}
char a[200];
while(gets(a))
{
if(m[a].length()==0)
{
puts("eh");
}
else
{
cout<<m[a]<<endl;
}
}
return 0;
}