这道题目可以用STL中map容器!不过其中有一点我不懂!
#include<cstdio>
#include<cstring>
#include<cctype>
#include<map>
#include<iostream>
using namespace std;
map<string,string>p;
int main()
{
int i;
string mar,earth,s;
cin>>s;
while(cin>>earth)
{
if(earth=="END")
break;
cin>>mar;
p[mar]=earth;
}
string sec;
string code;
getline(cin, s);//这里如果是cin就会出现错误!这里就是我一直不懂得地方!
getline(cin, s);
while(getline(cin,sec))
{
if(sec=="END")
break;
for(i=0; i<sec.size(); i++)
{
if(isalpha(sec[i]))
{
code+=sec[i];
if(!isalpha(sec[i+1]))
{
if(p[code]!="")
cout<<p[code];
else
cout<<code;
code.clear();
}
}
else
cout<<sec[i];
}
cout<<endl;
}
return 0;
}