不在乎效率的可以这样写。。。
#include <iostream>
#include<string>
#include<cstring>
#include<cstdio>
using namespace std;
int main()
{
int N,i,j;
int max,tem;
string color;
string str[1000];
// freopen("data.txt","r",stdin);
// freopen("output.txt","w",stdout);
while(cin>>N)
{
if(N == 0)return 0;
else
{
max = 0;
for(i = 0; i < N; i++)
cin>>str[i];
for(i = 0; i < N; i++)
{
tem = 0;
for(j = 0; j < N; j++)
{
if(str[i] == str[j])
{
tem++;
}
}
if(tem > max)
{
max = tem;
color = str[i];
}
}
cout<<color<<endl;
}
}
return 0;
}
可以用STL中的map来做 提高效率
#include <iostream>
#include<string>
#include<cstring>
#include<cstdio>
#include<map>
using namespace std;
int main()
{
int N,max;
map<string,int> color;
string tem,result;
// freopen("data.txt","r",stdin);
// freopen("output.txt","w",stdout);
while(cin>>N && N)
{
color.clear();
max = 0;
for(int i = 0; i < N; i++)
{
cin>>tem;
color[tem] += 1;
if(color[tem] > max)
{
max = color[tem];
result = tem;
}
}
cout<<result<<endl;
}
return 0;
}