http://blog.csdn.net/zhouworld16/article/details/6220331
根据这个博客ac的
#include <iostream>
#include <algorithm>
using namespace std;
struct Node{
char color[10];
int num;
};
bool compare( const Node& a , const Node& b){ //compare函数容易导致 expression:invalid operator <错误,具体格式这是一种
if( a.num > b.num )
return true;
if(a.num < b.num )
return false;
return false;
}
int main(){
int n;
Node ps[1000];
while(cin>>n && n != 0){
for(int i=0;i<n;i++){
cin>>ps[i].color;
ps[i].num=0;
}
for(int j =0;j<n;j++){
for(int m=0;m<n;m++){
if(strcmp(ps[j].color,ps[m].color)==0){
ps[j].num++;
}
}
}
sort(ps,ps+n,compare);
cin>>ps[0].color;
cout<<endl;
}
return 0;
}
英语很重要!