1113 第一个XXXXXXX之前的是字典,下面是要查找的内容
需要注意的是比较完第一个不一样不是马上输出,是要把所有字典比较完再输出
#include <iostream>
#include <string>
#include <map>
#include <algorithm>
using namespace std;
int main()
{
map<string,string> map1;
map<string,string> ::iterator it;
string str1,str,str2;
while (cin>>str && str.compare("XXXXXX")!=0)
{
str1 = str;
sort(str1.begin(),str1.end());
map1.insert(pair<string,string>(str,str1)); //排好序的单词和没排序的单词对应
}
while (cin>>str && str.compare("XXXXXX")!=0)
{
bool judge=false;
sort(str.begin(),str.end());
for (it = map1.begin();it!=map1.end();it++) //排完序单词和字典中排序的相比较
{
if(it->second.compare(str) == 0)
{
cout<<it->first<<endl;
judge=true;
}
}
if(!judge)
cout<<"NOT A VALID WORD\n";
cout<<"******\n";
}
}