问题描述
问题分析
简单的STL应用,可用map+string水过读取字典的时候可用c=getchar()读取然后判断是否为‘\n’来控制结束如果不是则继续把串读取完再合并起来
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| #include<stdio.h>
#include<map>
#include<string>
#include<algorithm>
using namespace std;
char s1[12],s2[12];
int main() {
map<string,string>q;
char c;
while(c=getchar(),c!='\n') {
scanf("%s %s",s1,s2);
getchar();
string t1=s1;
s1[0]=c,s1[1]='\0';
t1=s1+t1;
string t2=s2;
q[t2]=t1;
}
while(scanf("%s",s1)!=EOF) {
string res=q[s1];
if(res.length()>0)
printf("%s\n",res.c_str());
else
printf("eh\n");
}
return 0;
}
|