题目比较简单,思路就是读取国家名称,存起来,再用快速排序排一下就可。
#include <stdio.h>
#include <string.h>
#define MAXLine 2000
#define MAXWord 75
char record[MAXLine][MAXWord];
int cmp(const void* a,const void* b)
{
return strcmp((char*)a,(char*)b);
}
void main()
{
int i,num,index=0;
char s[MAXWord];
scanf("%d",&num);
while(num--){
scanf("%s",s);
strcpy(record[index++],s);
scanf("%[^\n]",s);
}
qsort(record,index,sizeof(char)*MAXWord,cmp);
strcpy(record[index]," ");
for(i=0;i<index;){
num=1;
while(!strcmp(record[i],record[i+1])) {num++;i++;}
printf("%s %d\n",record[i++],num);
}
}