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; }