本代码用C++的string类型直接创建一个字符串数组,额外创建一个count数组用来计数。
主要想法是采用两两比较的方法比较两个字符串是否相等,如果相等的话则count[i]++。两个循环都是从0开始,包含一次字符串的自我比较,让count为1。
#include <iostream>
#include <string>
using namespace std;
int main(){
string color[1001];
int count[1001];
int flag=0;
int max=0;
int n;
while(scanf("%d", &n)!=EOF){
if (n==0)
break;
for(int i=0; i<n; i++){
count[i]=0;
}
for(int i=0; i<n; i++){
cin >> color[i];
}
for (int i=0; i<n; i++){
for (int j=0; j<n; j++){
if (color[i]==color[j])
count[i]+=1;
}
}
max = 0;
for(int i=0; i<n; i++){
if (count[i] > max){
max = count[i];
flag = i;
}
}
cout << color[flag] << endl;
}
return 0;
}