词频统计
2016-03-16 16:03
239 查看
题目:词频统计
开发语言:C++
开发工具:Visual Studio 2013
源码:词频统计.cpp
1、要求
实现一个控制台程序,给定一段英文字符串,统计其中各个英文单词(4字符以上含4字符)的出现频率。 附加要求:读入一段文本文件,统计该文本文件中单词的频率。
2、计划
思路用10min,编写程序2h
3、时间
在实际编程中,想出第一个思路用时几分钟,但是将它编写成初步框架不容易,弃。后来又想了几个思路,当与实际编程挂钩时都不太好实现。最后还是参考了网上的一些资 源。
4、源码
5、运行结果
6、小结
我以为程序只要有思路,细节什么的再按照具体语言填充就好了。但是这次作业想了几个思路,我都不好把它们C++程序化,果然是想的太简单了,而且感觉问题好像又回到“编程思想”上了。
另外,在这次作业中我还学到了关于指针计数和结构体的一些用法。
参考:
统计字符串中单词的个数
输入一段英文文本,用程序统计出现频率最高和最低的两个单词
开发语言:C++
开发工具:Visual Studio 2013
源码:词频统计.cpp
1、要求
实现一个控制台程序,给定一段英文字符串,统计其中各个英文单词(4字符以上含4字符)的出现频率。 附加要求:读入一段文本文件,统计该文本文件中单词的频率。
2、计划
思路用10min,编写程序2h
3、时间
在实际编程中,想出第一个思路用时几分钟,但是将它编写成初步框架不容易,弃。后来又想了几个思路,当与实际编程挂钩时都不太好实现。最后还是参考了网上的一些资 源。
4、源码
#include"stdafx.h" #include<iomanip> #include<cstring> #include <iostream>// using namespace std; struct word{//单词结构 char c[30];//放置单词 int n;//放置单词出现次数 }w[10000]; void main(void) { char b[30], Str[30000];//定义单词数组,字符串数组 int i = 0, m = 1, k = 0, flag = 0, x = 0; cout << "请输入字符串:"; while (cin.get(Str[x]), Str[x++] != '\n');//从空格开始读取单词字符 Str[x - 1] = '\0'; x = 0; while (Str[x]){ if ('A' <= Str[x] && Str[x] <= 'Z' || 'a' <= Str[x] && Str[x] <= 'z') {//判断是否是单词 b[i++] = Str[x];//如果是的话将字符放到单词数组中 flag = 1; } else if (flag){ b[i] = '\0'; flag = m = 0; for (i = 0; i<k; i++){ if (strcmp(b, w[i].c) == 0){//比较单词是否相同 m = 1; break; } } if (!m){ w[k].n = 1; strcpy_s(w[k++].c, b);//不相同就保存 } else w[i].n++;//相同,出现次数加1 i = 0; } x++; } for (i = 0; i<k; i++) cout << w[i].c << " " << w[i].n << endl;//依次输出单词结构中的单词和个数 cout << endl; }
5、运行结果
6、小结
我以为程序只要有思路,细节什么的再按照具体语言填充就好了。但是这次作业想了几个思路,我都不好把它们C++程序化,果然是想的太简单了,而且感觉问题好像又回到“编程思想”上了。
另外,在这次作业中我还学到了关于指针计数和结构体的一些用法。
参考:
统计字符串中单词的个数
输入一段英文文本,用程序统计出现频率最高和最低的两个单词
相关文章推荐
- C# DataTable转实体 通用方法
- greenDao学习
- iOS中XIB与代码结合设置控件
- 设计模式中的模板方法模式在Ruby中的应用实例两则
- MOV转MP4格式
- Spark Standalone模式下操作有kerberos保护的Hbase时出现挂死的问题
- iOS获取通讯录功能
- 将DJANGO管理界面的filter_horizontal移到前面来复用
- if 判断中出现逗号
- linux 进程的虚拟地址和内核中的虚拟地址有什么关系
- gcc
- 小米2S手机开启开发者选项
- nexus搭建maven私服(二)
- jQuery ajax - ajax() 方法
- ibatis的cacheModel
- Android模仿表单上传文件
- android上传图片(及普通参数)到服务器(j2ee后台服务器,ssh框架)
- MySQL行级锁
- 相册效果(imageswitch与gallery)
- Android之判断手机是否联网