输入多组数据每组个数由首行输入决定,判断每组字符中出现相同的最多的输出,最后以输入0为结束,总算把vector用上了,但代码还是不简洁
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int n=(-1),s,m=0,d=0,c[100],w=0,o=0;
string b,h,f[100];
vector<string>a;
while(n!=0)
{
cin>>n;共n组,以输入0结束
while(m<n)
{
cin>>b;每组元素个数
a.push_back(b);
m=m+1;
}
m=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i]==a[j]){s=s+1;}两循环累加出每个元素重复次数
}
if(s>d){d=s;h=a[i];}s=0;大数存储,存储次数多的字符串
}
d=0;
a.clear();清空本次为下一次做准备
f[o]=h;o=o+1;
}
for(int i=0;i<(o-1);i++)
{cout<<f[i]<<endl;}输出
}