#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
string word;
vector<string> text; //存放输入文本
vector<string> word_rep;//存放每个输入的不同单词
vector<int> num;//存放对应每个连续输入单词的次数
while (cin >> word)
text.push_back(word); //读取输入文本
auto before_string=text.begin()+1;
auto max_repeatstring=text.begin();
int repeat_number = 1;//只出现一次的单词初始次数计为1
while(before_string!=text.end())
{
if (*before_string == *max_repeatstring)
{
++repeat_number;
++before_string;
}
else
{
num.push_back(repeat_number);//记录上一个单词的重复次数
word_rep.push_back(*max_repeatstring);//记录上一个单词
max_repeatstring = before_string;
repeat_number = 1;
++before_string;
}
}
num.push_back(repeat_number);//记录下最后一个单词的重复次数
word_rep.push_back(*max_repeatstring);//记录下最后一个单词
unsigned max_rep=1;
for(unsigned i=0; i!=num.size()&&num[i]>max_rep; ++i)
max_rep=num[i]; //存入连续出现单词的最大次数
if(max_rep==1)
cout<<"任何单词没有重复出现过"<<endl;
else
for(unsigned m=0; m!=num.size()&&num[m]==max_rep; ++m)
cout<<"连续出现最大次数的单词为:"<<word_rep[m]<<" 出现的次数为:"<<max_rep<<"次"<<endl;
}
C++Primer 练习5.14解答
最新推荐文章于 2022-07-31 11:57:29 发布