亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

c語言實現詞頻統計的簡單實例

2020-01-26 14:26:11
字體:
來源:轉載
供稿:網友

需求:

1.設計一個詞頻統計軟件,統計給定英文文章的單詞頻率。

2.文章中包含的標點不計入統計。

3.將統計結果以從大到小的排序方式輸出。

設計:

1.因為是跨專業0.0???并不會c++和java,只能用僅學過的C語言進行編寫,還是挺費勁的。

2.定義一個包含單詞和頻率兩個成員的結構體來統計詞頻(進行了動態分配內存,可以處理較大文本)。

3.使用fopen函數讀取指定的文檔。

4.使用fgetc函數獲取字符,再根據取得的字符是否是字母進行不同的處理。

5.采用快速排序法對統計結果進行排序。

5.將整個統計結果循環輸出。

部分代碼:

結構體定義:

struct fre_word{  int num;  char a[18];}; 

分配初始內存:

struct fre_word *w;  w=(struct fre_word *)malloc(100*p*sizeof(struct fre_word));//給結構體分配初始內存

讀取文本:

printf("輸入讀入文件的名字:");  scanf("%s", filename);                   //輸入需要統計詞頻的文件名  if((fp=fopen(filename, "r"))==NULL)  {    printf("無法打開文件/n");    exit(0);  }

單詞匹配:

/****************將單詞出現次數設置為1****************************/  for(i=0;i<100;i++)  {      (w+i)->num=1;  }/****************單詞匹配****************************************/  i=0;  while(!feof(fp))//文件尚未讀取完畢  {    ch=fgetc(fp);    (w+i)->a[j]='/0';    if(ch>=65&&ch<=90||ch>=97&&ch<=122)              //ch若為字母則存入    {      (w+i)->a[j]=ch;      j++;      flag=0;                         //設標志位判斷是否存在連續標點或者空格    }    else if(!(ch>=65&&ch<=90||ch>=97&&ch<=122)&&flag==0)    //ch若不是字母且上一個字符為字母    {          i++;      j=0;      flag=1;      for(m=0;m<i-1;m++)                  //匹配單詞,若已存在則num+1      {        if(stricmp((w+m)->a,(w+i-1)->a)==0)        {          (w+m)->num++;          i--;        }      }    }/****************動態分配內存****************************************/    if(i==(p*100))                           //用i判斷當前內存已滿    {      p++;      w=(struct fre_word*)realloc(w,100*p*(sizeof(struct fre_word)));      for(n=i;n<=100*p;n++)                      //給新分配內存的結構體賦初值        (w+n)->num=1;    }  }

快速排序:

void quick(struct fre_word *f,int i,int j) {  int m,n,temp,k;  char b[18];   m=i;   n=j;   k=f[(i+j)/2].num;              //選取的參照  do   {     while(f[m].num>k&&m<j) m++;       // 從左到右找比k小的元素    while(f[n].num<k&&n>i) n--;       // 從右到左找比k大的元素     if(m<=n)     {                    //若找到且滿足條件,則交換       temp=f[m].num;      strcpy(b,f[m].a);      f[m].num=f[n].num;       strcpy(f[m].a,f[n].a);      f[n].num=temp;       strcpy(f[n].a,b);      m++;       n--;     }   }  while(m<=n);   if(m<j) quick(f,m,j);           //運用遞歸  if(n>i) quick(f,i,n); }

結果輸出:

for(n=0;n<=i;n++)  {    printf("文檔中出現的單詞:");    printf("%-18s",(w+n)->a);    printf("其出現次數為:");    printf("%d/n",(w+n)->num);  }

測試用例:

看了之前同學的博客以及老師的評論,就使用了較長的文本進行測試,用的是奧巴馬就職演講稿。

部分測試結果:

以上這篇c語言實現詞頻統計的簡單實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产91在线播放精品91| 欧美裸体视频网站| 久久青草福利网站| 欧美一区二三区| 日韩av网站在线| 久久色免费在线视频| 国产精品视频白浆免费视频| 亚洲成人久久网| 2019日本中文字幕| 91在线中文字幕| 亚洲国产又黄又爽女人高潮的| 92看片淫黄大片看国产片| 中文字幕在线看视频国产欧美在线看完整| 日韩视频在线免费观看| 亚洲人成在线电影| 懂色aⅴ精品一区二区三区蜜月| 国产一区av在线| 亚洲va国产va天堂va久久| 国产不卡精品视男人的天堂| 欧美中文在线观看| 好吊成人免视频| 欧美理论电影在线播放| 亚洲欧美日韩在线一区| 欧美一级大片在线观看| 亚洲xxx大片| 韩国精品美女www爽爽爽视频| 亚洲美女视频网| 日韩av片电影专区| 久久夜色精品国产欧美乱| 一本色道久久综合狠狠躁篇怎么玩| 国产精品扒开腿做爽爽爽男男| 久久在线精品视频| 美女国内精品自产拍在线播放| 久久久国产精品视频| 精品一区二区三区电影| 精品国产精品三级精品av网址| 亚洲精品国产拍免费91在线| 欧美色视频日本版| 中文字幕在线亚洲| 日韩中文在线中文网三级| 国产精品久久久久99| 国产mv久久久| 亚洲护士老师的毛茸茸最新章节| 国产亚洲aⅴaaaaaa毛片| 综合国产在线视频| 国产999在线观看| 午夜精品美女自拍福到在线| 亚洲国产日韩精品在线| 18一19gay欧美视频网站| 尤物yw午夜国产精品视频明星| 亚洲精品日韩久久久| 91精品国产99| 欧美最顶级的aⅴ艳星| 91九色蝌蚪国产| 国内成人精品一区| 精品久久久国产| 欧美性猛交xxxx黑人猛交| 91香蕉嫩草神马影院在线观看| 成人黄色在线播放| 亚洲xxxxx| 全球成人中文在线| www.亚洲人.com| 国产精品亚洲综合天堂夜夜| www.xxxx精品| 日本在线精品视频| 久久综合免费视频影院| 高清一区二区三区日本久| 欧美黄色片视频| 国产999精品| 日本a级片电影一区二区| 久久99视频精品| 成人国产在线视频| 精品视频中文字幕| 国产精品96久久久久久又黄又硬| 久久视频中文字幕| 亚洲3p在线观看| 精品久久久久久久久久久久| 亚洲激情小视频| 九九视频这里只有精品| 日韩电影免费在线观看中文字幕| 欧美大奶子在线| www.亚洲人.com| 国产视频久久久| 一区二区av在线| 懂色aⅴ精品一区二区三区蜜月| 欧美性20hd另类| 国产一区二区三区在线| 国产成+人+综合+亚洲欧美丁香花| 中文字幕av日韩| 亚洲午夜久久久影院| 色99之美女主播在线视频| 国a精品视频大全| 日本欧美黄网站| 亚洲一区二区三区四区在线播放| 55夜色66夜色国产精品视频| 久久九九亚洲综合| 国产精品久久久久久久久借妻| 日韩有码在线观看| 亚洲欧美日韩精品| 国产精品美女无圣光视频| 成人激情视频在线播放| 日韩av不卡在线| 欧美日本国产在线| 国产精品最新在线观看| 欧美黑人极品猛少妇色xxxxx| 色噜噜久久综合伊人一本| 福利视频导航一区| 中文字幕欧美精品在线| 91av视频在线观看| 久久免费视频网站| 亚洲电影免费观看高清完整版在线观看| 91精品久久久久久久久久另类| 亚洲电影av在线| 91精品久久久久久久久久久久久久| 亚洲欧美在线一区| 少妇高潮久久77777| 亚洲欧洲在线视频| 成人福利在线观看| 国产999视频| 国产精品吊钟奶在线| 91九色视频导航| 17婷婷久久www| 亚洲精品成人久久| 91美女片黄在线观看游戏| 九九热精品在线| 精品性高朝久久久久久久| 亚洲天堂一区二区三区| 欧美成人精品一区二区三区| 日韩网站免费观看| 欧美激情国产日韩精品一区18| 成人日韩在线电影| 激情成人在线视频| 57pao成人国产永久免费| 777午夜精品福利在线观看| 国产成人精品在线观看| 日韩欧美精品网站| 欧美视频在线免费| 狠狠躁18三区二区一区| 精品久久久久久电影| 一区二区在线视频| 欧美一级淫片aaaaaaa视频| 欧美视频专区一二在线观看| 日韩在线资源网| 国产婷婷色综合av蜜臀av| 精品福利在线观看| 成人福利在线观看| 精品国产乱码久久久久酒店| 久久视频国产精品免费视频在线| 97婷婷涩涩精品一区| 欧美日韩国产中文精品字幕自在自线| 久久久人成影片一区二区三区观看| 亚洲欧美另类中文字幕| 最近2019年中文视频免费在线观看| 色哟哟网站入口亚洲精品| 国产精品美乳一区二区免费| 欧美国产精品日韩| 成人性教育视频在线观看| 国产精彩精品视频| 另类专区欧美制服同性| 91av国产在线| 欧美精品在线视频观看| 国产欧美精品一区二区三区介绍| 国产亚洲欧美视频| 日本一区二三区好的精华液|