回复 楼主 哒哒哒啦啦啦
//已测试#include<iostream>
#include<vector>
#include<string>
using std::cin;
using std::cout;
using std::endl;
using std::vector;
using std::string;
int main()
{
vector<string> v; //这个是存放单词的
vector<int> v1; //这个是存放每个重复过的单词的容器,奇数位是单词在容器v中的位置,以便于比较后输出,偶数位是对应奇数位重复出现的最大数字
vector<int> v2; //这个是比较v1的遍数哪个大,将大的存在里面
string i;
int n1 = 1;
while (cin >> i)
v.push_back(i);
cout<<"Input Finished!\n";
string*active=v.begin();
cout<<"The inputed words:";
while(active!=v.end())
{
cout<<*active<<" * ";active++;
}
cout<<endl;
string KeyWord="xxxxxxxxxxxxxxxxxxxxxx";//连续最高频的词
string LastWord="mmmmmmmmmmmmmmmmmmmmmm";//上一个词
short num=0;//连续最大的次数
short n=0;//当前单词连续次数
active=v.begin();
while(active!=v.end())
{
if(*active!=LastWord)
{
if(n>num)//更新连续最高频单词
{
num=n;KeyWord=LastWord;//刷新单词
}
n=1;//当前单词从1开始计数
LastWord=*active;//更新单词
}
else
n++;
active++;
}
cout<<"The word selected: "<<KeyWord<<"\t"<<num;
return 0;
}