[cpp]
/*就是一個結構體計數加排序*/
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define MAXL 2001
#define MAXC 76
typedef struct{
string name;
int num;
}Country;
char s[MAXC];
Country country[MAXL];
int countrycmp(const void *a, const void *b){
return ((Country const*)a)->name > ((Country const*)b)->name;
}
int main(int argc, char const *argv[])
{
int cas, sum=0, i, j;
string str;
scanf("%d",&cas);
getchar();
while(cas--){
gets(s);
str="";
for(i=0; s[i]!=' '; i++)
str += s[i];
str[i]=='\0';
for(i=0; i<sum; i++){
if(str==country[i].name){
country[i].num++;
i--;
break;
}
} www.2cto.com
if(i==sum)
country[sum++].name = str;
}
qsort(country, sum, sizeof(Country), countrycmp);
for(i=0; i<sum; i++){
cout<<country[i].name<<" "<<country[i].num+1<<endl;
}
return 0;
}