/*
练习5.14:
从标准输入读取若干string对象,输出连续重复出现的最大次数以及对应的单词。例如,如果输入是:
how now now now brown cow cow
那么输出应该表明单词now连续出现了3次
*/
#include "TouWenJian_5.h"
int main()
{
string str1;//接收从标准输入读取的单个string对象
vector<string> v1;//接收从标准输入读取的全部string对象
while(cin>>str1)
v1.push_back(str1);
auto i1=v1.begin();//i1为循环控制变量,类型为迭代器,初始值指向v1首元素
unsigned CiShu=1;//记录当前检测的单词连续出现的次数
unsigned JiLu=0;//记录当前检测到的连续重复出现的最大次数
vector<string> v2;//接收当前检测到的连续重复出现最大次数的单词
while(i1<(v1.end()-1))
{
if(*i1==*(i1+1))
{
++CiShu;
++i1;
}
else if(CiShu>JiLu)
{
JiLu=CiShu;
v2.push_back(*i1);
++i1;
CiShu=1;
}
else
{
++i1;
CiShu=1;
}
}
if(CiShu>JiLu)
{
JiLu=CiShu;
v2.push_back(*i1);
}
if(JiLu<=1)
cout<<"任何单词都没有连续出现过\n";
else
cout<<"单词:"<<*(v2.end()-1)<<"连续出现"<<JiLu<<"次\n";
cout<<endl;
return 0;
}
C++Primer第五版第五章练习5.14
最新推荐文章于 2024-09-11 14:03:06 发布