# include & ltstdio.h & gt
# include & ltstring.h & gt
# include & ltctype.h & gt
struct?單詞
{
夏爾?str[30];//單詞
int?num?//單詞出現的次數
}字[500];
int?總和;
作廢?李俶(查爾?s[])
{
int?I,j;
int?flag = 0;?
for(I = 0;我& lt= sumi++)
{?
if(strcmpi(words[i].str,s)==0)?
{?
詞[我]。num++;
flag = 1;
}?
}
如果(標誌==0)
{?
strcpy(words[sum].str,s);
詞[和]。num++;?
sum++;
}?
}
作廢?paixu1()
{
int?I,j;
struct?詞?a;
for(I = 0;我& lt總和;i++)
{?
for(j = I+1;j & lt總和;j++)
if(strcmp(words[i].str,words[j]。str)?& gt?0)?
{?
a =單詞[j];
words[j]= words[I];
單詞[I]= a;?
}
}
}
作廢?paixu2()
{
int?I,j;
struct?詞?a;
for(I = 0;?我& lt總和;?++i)
{
for(j = sum-1;?j & gt我;?- j)
{
if(單詞[j].num & gt單詞[j-1]。數字)
{?
?a =單詞[j];
?word[j]= words[j-1];
?單詞[j-1]= a;?
}
}
}?
}
int?主()
{
夏爾?s[30];
int?imax,istart,iend,I,j,flag = 0;
夏爾?str[]?=?“那個?總統?告知?那個?審計?當局?去哪?保持?他們的?想法?然後呢。行動?在?線?用什麽?那個?CPC?中環?委員會?堅決?保障?那個?集權?然後呢。統壹?領導力?的?那個?委員會?然後呢。實現?那個?要求?的?那個?委員會。”;
夏爾?delims[]?=?"?";
夏爾?*劍?=?NULL
sum = 0;
for(I = 0;我& lt500;i++)
詞[我]。num = 0;
劍?=?strtok(str,delims);
而(?劍?!=?NULL?)?{
?sscanf(劍,“%[a-zA-Z]”,s);
str lwr(s);
李俶;
?
劍?=?strtok(?NULL,?迪莉茲。);
}
Printf("本文* * *有:%d字\n ",sum);
paixu 1();
printf(" \ n按單詞字典的升序排列:\ n ");
for(I = 0;我& lt總和;i++)
printf("%s,%d\n ",單詞[i]。str,words[i]。num);
pai Xu 2();
printf(" \ n按出現的降序排列:\ n ");
for(I = 0;我& lt總和;i++)
printf("%s,%d\n ",單詞[i]。str,words[i]。num);
回歸?0;
}實際運行截圖: