| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1011 人关注过本帖
标题:[求助]还是想不出。。。词频统计
只看楼主 加入收藏
xavierfa
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-6-11
收藏
 问题点数:0 回复次数:1 
[求助]还是想不出。。。词频统计

最近写的c程序,但想了几天都想不出怎样写统计词频的函数word_f()
望哪个高手指点指点
#include<Stdio.h>
#include<Conio.h>
#include<String.h>
#include<Ctype.h>

#define linewide 3000 /*linewide为每行的宽度*/

unsigned char xx[1][linewide];
int paragraph=0; /*段数*/
int num=0; /*num为单词的共个数*/
int ReadDat(void); /*从文本读取文章的函数*/
void WriteDat(void); /*把结果写进文本的函数*/

int main(void)
{
ReadDat();
count();
word_f();
WriteDat();
getch();
return 0;
}

int word_f(void) /*统计词频*/
{

}


int count(void) /*统计单词个数*/
{
int i,j,k,strl,word=0;
for(i=0;i<paragraph;i++)
{
strl=strlen(xx[i]); /*求各段的长度*/
for(j=0;j<strl-1;j++)
{
if(xx[i][j]==' ') /*计算单词数的语句*/
word=0; /*若xx[i][j]是空格word为0,否则为1*/
else if(word==0) /*word从0变为1时,num加1*/
{
word=1;
num++;
}
}
}
}


int ReadDat(void)
{
FILE *fp;
int i=0;
unsigned char *p;
if((fp=fopen("IN.TXT","r"))==NULL)
{
printf("Open fail!\n"); /*IN.TXT文本不存在,显示失败*/
return 1;
}
while(fgets(xx[i],linewide,fp)!=NULL)
{
p=strchr(xx[i],'\n');
if(p) *p=0;
i++;
}
paragraph=i;
fclose(fp);
return 0;
}

void WriteDat()
{
FILE *fp;
int i;
fp=fopen("OUT.TXT","w");
fprintf(fp,"The number of word=%d\n",num);
fprintf(fp,"The number of paragraph= %d",paragraph);
printf("The number of word= %d\n",num);
printf("The number of paragraph= %d",paragraph);
/*for(i=0;i<paragraph;i++)
{
printf("%s\n",xx[i]);
fprintf(fp,"%s\n",xx[i]);
}*/
fclose(fp);
}

[此贴子已经被作者于2006-6-26 9:42:00编辑过]

搜索更多相关主题的帖子: 词频 统计 
2006-06-26 09:40
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
回复:(xavierfa)词频统计
实在听不懂你在说什么,究竟要求什么,
什么是“词频”,哪(几)个“词汇”出现
的频率。。。。。。

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-26 14:07
快速回复:[求助]还是想不出。。。词频统计
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022096 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved