练习5.14
int main() {
//读取若干string对象
vector<string> strVec;
string str1; //输入的字符串
string maxStr; //出现最多次的字符
while (cin >> str1)
strVec.push_back(str1);
//查找连续出现的单词
int num = 1; //计数器次数
int maxNum = 1; //最大出现次数
auto beg = strVec.begin();
auto end = strVec.end();
while (beg != end - 1) //碰到最后一个字符串,退出循环
{
if (*beg == *(beg + 1)) { //如果此字符串与下一个字符串相同
num++; //计数器+1
}
else { //如果此字符串与下一个字符串不同
if (num > maxNum) { //计数器如果大于保存的最大出现次数
maxNum = num; //存入新的最大出现次数
num= 1; //重新开始计数
maxStr = *beg;
}
}
beg++; //移动到下一个字符串,循环重新开始
}
//输出结果
if (maxNum ==1)
cout << "没有连续出现的单词";
else
cout << maxStr << " " << maxNum << endl;
return 0;
/*
如果同时出现了2种及以上最大且相同次数的单词,仅出现排在前面的单词
比如 now now now today today today, 结果仅出现now 3
*/
}