|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ [求助]如何统计文本文件里不同长度的单词出现的频率?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1420
人关注过本帖
标题:
[求助]如何统计文本文件里不同长度的单词出现的频率?
只看楼主
加入收藏
沉珂
等 级:
新手上路
帖 子:2
专家分:0
注 册:2005-12-23
楼主
收藏
问题点数:0 回复次数:3
[求助]如何统计文本文件里不同长度的单词出现的频率?
如何实现文件里不同长度的单词出现的频率,最长的单词长度和出现的频率最多的数目。。。
单词以空格分开,最长的不超过30个字符。。。。
谢谢。。。。
搜索更多相关主题的帖子:
单词
频率
文本文件
长度
统计
2005-12-23 20:27
举报帖子
使用道具
赠送鲜花
沉珂
等 级:
新手上路
帖 子:2
专家分:0
注 册:2005-12-23
第
2
楼
收藏
得分:0
有思路了,寒自己下。。。。我自己试试去。。。
2005-12-23 20:30
举报帖子
使用道具
赠送鲜花
maoguoqing
来 自:重庆
等 级:
贵宾
威 望:
28
帖 子:2980
专家分:19
注 册:2005-12-5
第
3
楼
收藏
得分:0
把两个空格之间的字符串(即为一个单词)装入一个字符数组,
然后检验这个单词是否出现过,出现过该单词数量加1,未出现
过则为新单词,数量暂时为1,总的思路这样,细节自己考虑!
天行健,君子以自强不息!!QQ:68660681
2005-12-23 21:28
举报帖子
使用道具
赠送鲜花
303770957
等 级:
小飞侠
威 望:
6
帖 子:838
专家分:2125
注 册:2005-9-10
第
4
楼
收藏
得分:0
#include "stdio.h"
#include "string.h"
#define Q 200
void main()
{int k,m;
char str[Q];
printf(" 英文句子管理程序\n");
printf("请输入您要处理的英文句子(注意标点符号与单词之间至少有一个空格):\n");
gets(str);
printf("您要进行处理的英文句子为:\n");
puts(str);
do{printf(" \n 英文句子处理主菜单\n");
printf("********************************************************\n");
printf("| 1.删除该句子的前导空格、后导空格。 |\n");
printf("| 2.删除该句子中多余的空格(单词之间只留一个空格)。|\n");
printf("| 3.统计该句子中某个单词出现的频率 。 |\n");
printf("| 4.查找并替换某个单词。 |\n");
printf("| 5.安全安全退出管理。 |\n");
printf("********************************************************\n");
printf("请选择您要执行的操作(1--5):");
scanf("%d",&k);
switch(k)
{case 1:{ int i,h,num=0;
i=strlen(str);
do{i--;
}while(str[i]==' ');
str[i+1]='\0';
i=0;
while(str[i]==' ') i++;
if(str[i]!='\0') num=1; h=i;m=i;
while(str[i]!='\0')
{if(i>0 && str[i]==' ' && str[i-1]!=' ')
num++;i++;}
printf("经过功能<1>处理后的英文句子为:\n");
for(;str[h]!='\0';h++)
printf("%c",str[h]);printf("\n");
};break;
case 2:{int a,q;
printf("经过功能<2>处理后的英文句子为:\n");
for(a=m;str[a]!='\0';)
{if(str[a]!=' ') {printf("%c",str[a]);a++;q=0;}
while(str[a]==' ') {q=1;a++;}
if(q==1) printf(" ");
}
};printf("\n"); break;
case 3:{ int k1,k2,i=0,k=0,m;
char str2[Q],str1[Q],*p,*q;
printf("请输入您要统计的单词:");
scanf("%s",str1);
do
{while(str[i]==' '&&i<=strlen(str)) i++;k1=i;
while(1)
{if(str[i]==' ' && str[i+1]!=' ') break;
i++;
if(str[i]==' ' && str[i-1]!=' ') k2=i-1;
if(i>=strlen(str)) break;
};
p=str;
q=str2;
p+=k1;
for(m=k1;m<=k2;m++)
{*q=*p;p++;q++;}
*q='\0';
if(strcmp(str2,str1)==0) k++;
}while(str[i]!='\0' && i<=strlen(str));
printf("您要统计的单词%s出现了%d次.\n",str1,k);
};break;
case 4:{int k1,k2,i=0,k,m,x;
char str3[Q],str4[Q];
char str2[Q],str5[Q];
char *p,*q;
printf("请输入您要查找的单词:\n");
scanf("%s",str3);
printf("请输入您要替换的单词:\n");
scanf("%s",str4);
printf("经过单词替换后的英文句子为:\n");
i=0;
do
{while(str[i]==' '&&i<=strlen(str)) i++;k1=i;
while(1)
{if(str[i]==' ' && str[i+1]!=' ') break;
i++;
if(str[i]==' ' && str[i-1]!=' ') k2=i-1;
if(i>=strlen(str)) break;
};
p=str;
q=str2;
p+=k1;
for(m=k1;m<=k2;m++)
{*q=*p;p++;q++;}
*q='\0';
if(strcmp(str2,str3)==0) printf("%s ",str4);
else printf("%s ",str2);
}while(str[i]!='\0' && i<=strlen(str));
}; break;
default:break;}
}while(k!=5);
}
♂ 死后定当长眠,生前何须久睡。♀
2005-12-23 21:48
举报帖子
使用道具
赠送鲜花
4
1/1页
1
快速回复:
[求助]如何统计文本文件里不同长度的单词出现的频率?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.017134 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved