詞頻統計程式

2021-08-28 08:15:53 字數 1346 閱讀 9658

做乙個詞頻統計程式,該程式具有以下功能

(1)可匯入任意英文文字檔案

(2)統計該英文檔案中單詞數和各單詞出現的頻率(次數),並能將單詞按字典順序輸出。

(3)將單詞及頻率寫入檔案。

本程式思路大概為:

1.開啟需要的txt檔案,把其中的文字內容讀入程式流中

2 .將文字內容中的大寫字母轉化為小寫,去除,。、?等特殊字元

3. 用單鏈表對詞頻進行統計

4. 用冒泡法對統計結果進行排序

5.列印輸出全部詞頻或者頻率最高的單詞和其出現次數

#include #include #include #define max 5000

/*定義結構體*/

struct word

word[max];

/*讀取文章*/

void read(char *article,int *total,char *ch)

}//獲取文章及總字元數

(*ch)=fgetc(fp); //先判斷文章是否為空。

if(*ch!=null)

fclose(fp);}

/*顯示文章*/

void show(char *article,int *total,char *ch)

/*按字典順序排序*/

void sort(int *total)

}}/*記錄單詞和單詞出現的次數*/

void record(char *article,char *b)

if(judge)

i--;

i++;

judge=false;

} sort(&i);

printf("單詞總數為:%d\n",sum);

fp=fopen("result.txt","w"); //將結果寫入檔案中

fprintf(fp,"單詞總數為:%d\n",sum); //記錄單詞總數到檔案中

for(j=0;jfclose(fp);

}/*定義選單函式*/

void menu()

,article[2*max],ch; //排除文章中的符號

printf("詞頻統計(請輸入需要的功能)\n");

printf("1.顯示英文文字\n");

printf("2.顯示單詞及頻數\n");

scanf("%d",&item);

printf("\n");

read(article,&total,&ch);

//使用者選擇需要的功能

switch(item) }

/*定義主函式*/

int main()

詞頻統計程式

詞頻統計程式要求 首先定義結構體,初始化,主函式等 typedef struct word 字典樹的結構體定義 typedef struct tlist 結構體定義 單詞和對應頻率 struct tlist list 5000000 定義結構體陣列 word root char str 200 字元...

單詞詞頻統計程式(map set 應用)

題目 輸入大量單詞,每詞一行,不超過20字元,沒有空格。按出現次數從多到少輸出這些單詞及其出現次數。出現次數相同的,按字典序輸出。實現 include include include includeusing namespace std struct word struct rule int mai...

菜鳥學習c map使用練習 實現詞頻統計程式

c 練習,使用map實現詞頻統計程式。程式實現兩個功能 1 統計文字中各個單詞的出現次數 2 查詢指定輸入單詞在文字中是否出現 需注意 練習比較隨意,多使用全域性變數,正式使用形參實參傳遞引數比較好。include include include include using namespace st...