做乙個詞頻統計程式,該程式具有以下功能
(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...