虽然不难,思想还不错,值得一做的字符串题
#include<stdio.h>
#include<cctype>
#include<string.h>
int find(char *s1,char*s2)
{
char ch[100];int p=0,d=0;
int n=strlen(s2);
for(int i=0;i<n;i++)
if(isalpha(s2[i])&&i<n-1)
ch[d++]=tolower(s2[i]);
else
{
ch[d]='\0';
d=0;
if(strcmp(ch,s1)==0)p++;
}
return p;
}
char st[23][40],se[23][101];int a[20];
int main(){
int i=0,o=1;
int k,e;
freopen("input.txt","r",stdin);
while(scanf("%d %d",&k,&e)!=EOF)
{
getchar();
memset(a,0,sizeof(a));
int max=0;
for(i=0;i<k;i++)gets(st[i]);
for(i=0;i<e;i++){
gets(se[i]);
for(int j=0;j<k;j++)a[i]+=find(st[j],se[i]);
if(a[i]>max)max=a[i];
}
printf("Excuse Set #%d\n",o);o++;
for(i=0;i<e;i++)if(a[i]==max)printf("%s\n",se[i]);
printf("\n");
}
return 0;
}