ps:很简单的一个字符串处理问题..

代码:

#include "stdio.h"
#include "string.h"
int find(int flag[],int k);
int main(){
    char ss[1005][20],num[1005][20];
    int T,k,i,j,temp,flag[1005],t;
    while(~scanf("%d",&T) && T!=0){
        k=0;
        memset(flag,0,sizeof(flag));
        for(i=0;i<T;i++){
            scanf("%s",&ss[i]);
            if(k==0){
                strcpy(num[k],ss[i]);
                flag[k]++;
                k++;
            }
            else{
                temp=0;
                for(j=0;j<k;j++){
                    if(strcmp(num[j],ss[i])==0){
                        temp=1;
                        flag[j]++;
                    }
                }
                if(temp==0){
                    strcpy(num[k],ss[i]);
                    flag[k]++;
                    k++;
                }
            }        
        }
        t=find(flag,k);
        printf("%s\n",num[t]);
    }
    return 0;
}
int find(int flag[],int k){
    int i,max=0,temp=0;
    for(i=0;i<k;i++){
        if(flag[i]>max){
            max=flag[i];
            temp=i;
        }
    }
    return temp;
}