//可以用二维数组存,前面表示第几个,后面表示字符串#include<bits/stdc++.h> using namespace std; const int maxn=1e3+5; char s[maxn][20]; int cnt[maxn]; int main(){ int n,f; while(cin>> n){ if(n==0) break; f=0; memset(cnt,0,sizeof(cnt)); //每读入一个,跟前面的比较,出现过..,没出现过.. for(int i=0;i<n;i++){ cin>>s[i]; for(int j=0;j<i;j++){ if(!strcmp(s[i],s[j])){ cnt[j]++; f=1;break; } } if(f==0) cnt[i]=1; } int mm=cnt[0],ans=0; for(int i=1;i<n;i++){ if(cnt[i]>mm){ mm=cnt[i];ans=i; } } cout<<s[ans]<<endl; } }
二维数组存 n个 字符串
再开一个数组 可存字符串出现次数