练习5.14
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
int cnt = 1, cnt1 = 1;
string rcd = "", rcd1 = "";
vector<string> test;
string a = "";
while (cin >> a)
test.push_back(a);//初始化test
auto i = test.cbegin();
while (i != test.cend()-1)//由于下面的while条件中有++i,故不取end而是最后一个元素
{
string j = *i;
while ((i != test.cend()-1)&&(j == *(++i)))
{
++cnt1;
rcd1 = j;
} //不用再++i,因为条件中已经加过了
if (cnt1 > cnt)
{
cnt = cnt1;
rcd = rcd1;
}
cnt1 = 1;
rcd1 = "";
}
cout << "连续重复最多的是" << rcd << " " << "重复次数为" << cnt << endl;
system("pause");
return 0;
}
结果为:
本文介绍了一个C++程序,该程序能够从输入中找出重复最多的字符串及其出现次数。通过使用标准库中的vector容器和迭代器,程序有效地遍历了所有输入项,并统计了每个字符串的连续重复次数。

被折叠的 条评论
为什么被折叠?



