#包含?& ltstdio.h & gt
#包含?& ltstring.h & gt
//可以統計的最大字數可以自己改。
#定義?MAX_WORD_COUNT?500
//結構,該結構存儲每個單詞及其對應的數字。
typedef?struct?字數
{
夏爾?cWord[20];
int?iCount
} T _ WordCount
int?CalcEachWord(const?夏爾?* pText);//計算字數,輸出信息等。
作廢?LowerText(char?* pText);//將單詞變成小寫
作廢?SwapItem(T_WordCount?*ItemA,?T_WordCount?*?ItemB);//交換兩個元素
作廢?SortWord(T_WordCount?* pWordSet);//排序
int?main(int?argc,?夏爾?*argv[])
{
//測試文本
夏爾?pText[]?= "文字?有嗎?有嗎?壹個?h-as?更多?有嗎?更多?哈-S?空白?更多?空白?還是?更多?還是?空白?兩個世界之間。”;
printf("The?文字?是嗎?:\ n ");
printf("-\ n ");
printf("%s\n ",pText);
printf("-\ n ");
printf("The?top?5?文字?是嗎?:\ n ");
CalcEachWord(pText);?回歸?0;
}
int?CalcEachWord(const?夏爾?*pText)
{
夏爾?cTmp[20]?=?{0};?
int?我=?0;
夏爾?*pTmp =?cTmp
int?iFlag =?0;
T_WordCount?two dset[MAX _ WORD _ COUNT];
memset(two dset,?0,?sizeof(two dset));
什麽時候?(*pText?!=?'\0')
{?
如果?((*pText?& gt=?壹個嗎?& amp& amp?*pText?& lt=?z’)?||?(*pText?& gt=?壹個嗎?& amp& amp?*pText?& lt=?z '))
{
*pTmp?=?* pText
ptmp++;
}
不然呢?如果?(*pText?==?'-')
{
++ pText;
繼續;
}
其他
{?
如果?(strlen(cTmp)?& gt?0)
{
LowerText
iFlag?=?0;
為了什麽?(我?=?0;?我?& lt?最大字數;?++i)
{
?如果?(strlen(tWordSet[i])。cWord)?& gt?0)
?{
?如果?(strcmp(tWordSet[i])。cWord?cTmp)?==?0)
?{
iFlag?=?1;
t數據集[i]。icount++;
打破;
?} ?
?}
?其他
?{
?strcpy(tWordSet[i].cWord?cTmp);
?t數據集[i]。iCount?=?1;
?iFlag?=?1;
?打破;
?}
}
如果?(!iFlag)
{
?printf("沒有?更多?空間?去哪?保存?詞。\ n ");
}
}
內存集(cTmp,0,?20);
pTmp?=?cTmp
}
++ pText;
}
//排序?sort word(two dset);
為了什麽?(我?=?0;?我?& lt?5;?++i)
{
如果?(strlen(tWordSet[i])。cWord)?& gt?0)
{
printf("%s:%d\n ",tWordSet[i]。cWord,tWordSet[i]。iCount);
}
}
回歸?0;
}
作廢?LowerText(char?*pText)
{
夏爾?*pTmp?=?pText
什麽時候?(*pTmp?!=?'\0')
{
如果?((*pTmp?& gt=?壹個嗎?& amp& amp?*pTmp?& lt=?z '))
{
*pTmp?+=?32?;
}
ptmp++;?}
}
作廢?SwapItem(T_WordCount?*ItemA,?T_WordCount?*?項目b)
{
T_WordCount?Tmp
memset(& amp;Tmp,?0,?sizeof(T _ word count));
strcpy(Tmp.cWord,?ItemA-& gt;cWord);
Tmp.iCount?=?ItemA-& gt;iCount
strcpy(ItemA-& gt;cWord?item B- & gt;cWord);?ItemA-& gt;iCount?=?item B- & gt;iCount
strcpy(item B- & gt;cWord?tmp . cword);?item B- & gt;iCount?=?Tmp.iCount
}
//冒泡排序算法
作廢?SortWord(T_WordCount?*pWordSet){
int?I,j;?
為了什麽?(j?=?0;?j?& lt?MAX_WORD_COUNT?-?1;?j++)?
{
為了什麽?(我?=?0;?我?& lt?MAX_WORD_COUNT?-?1?-?j;?i++)?
{ ?
如果?(pWordSet[i]。iCount?& lt?pWordSet[i+1]。iCount)?
{ ?
SwapItem(& amp;pWordSet[i],?& amppWordSet[I+1]);
} ?
}?
}
}
測試結果截圖: