这个东西我搞了一个月都没搞定,求高手帮忙
#include<stdio.h>#include<string.h>
#include<ctype.h>
struct
{
char word[21];
int count;
}leader[6];
int main()
{
FILE *fp;
char str[10000][21]={"\0"},temp[21]="",k[21],a;
int b[5],i=0,j=0,n=0,c[10000]={0},t=0,max;
if((fp=fopen("case1.in","r"))==NULL)
return 0;
dd:
while(fgetc(fp))
{
if(isalpha(a))
{
temp[n]=a;
n++;
}
else
{
strlwr(temp);
strcpy(str[i],temp);
temp[21]="";
i++;
n=0;
goto dd;
}
}
for(n=0;n<i-1;n++)
for(j=n+1;j<i;j++)
{
if(k[n]==k[j])
c[n]=c[n]+1;
}
for(n=0;n<5;n++)
{
for(j=0;j<i+1;j++)
{
max=c[0];
if(c[j]>max)
{
max=c[j];
t=j;
}
}
strcpy(leader[n].word,str[j]);
leader[n].count=max;
c[j]=0;
}
for(n=0;n<5;n++)
for(j=n+1;j<5;j++)
{
if((leader[n].count==leader[j].count)&&(strcmp(leader[j].word,leader[n].word)))
{
strcpy(leader[5].word,leader[j].word);
strcpy(leader[j].word,leader[n].word);
strcpy(leader[n].word,leader[5].word);
}
}
for(n=0;n<5;n++)
{
printf("%s %d",leader[n].word,leader[n].count);
}
fclose(fp);
return 0;
}