此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/6583

代码地址:https://e.coding.net/yangtianyu/cptj.git

词频统计 SPEC 20180918

功能1 小文件输入。 为表明程序能跑,结果真实而不是迫害老五,请他亲自键
盘在控制台下输入命令。

重点:这个看起来相对简单只要按顺序检索字母即可,然而对我相对困难的地方是需要将单字母和标点符号区分开。多次重复的单词的记为1次。

代码:判断是否是字母

inline int is_alphabet(char c) {if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') return 1;else return 0;

执行效果:

功能2 支持命令行输入英文作品的文件名,请老五亲自录入。

重点:如何将进行命令行输入这个功能实现,因为在这之前因为自己练习不够,没有见到过这类要求,需要查一些资料并需要尝试实践,且这个功能关系到整个功能的实现,对专业知识的掌握不牢固会严重影响进度。

代码:

 

if (strcmp(argv[1], "-f") == 0) {if (_access(argv[2], 0) == -1) {printf("'%s' not found!\n", argv[2]);return -1;}char *read_file = open_file(argv[2]);count_words(read_file);return 0;}else if (strcmp(argv[1], "-d") == 0) {char *read_file, *read_tmp;if (!(read_file = (char *)malloc(MAX_MUTI_LENGTH))) {printf("malloc error!\n");return -1;}

  

功能3 支持命令行输入存储有英文作品文件的目录名,批量统计。

重点:要做批量文件处理,让用户输入文件路径,不要输入具体文件名称。遍历文件夹下所有文件,把需要处理的都放在文件夹下,就会遍历每一个文件,把每一个文件的单词都进行词频统计。重复的记一次。

代码:

    long hFile=0;struct _finddata_t fileinfo;string p;if ((hFile = _findfirst(p.assign(argv[2]).append("\\*").c_str(), &fileinfo)) != -1){do{if (!(fileinfo.attrib & _A_SUBDIR) && strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0){char path[MAX_PATH_LENGTH];sprintf(path, "%s\\%s", argv[2], fileinfo.name);if (_access(path, 0) == -1) continue;printf("read '%s'\n", path);open_file_dst(&read_tmp, path);}} while (_findnext(hFile, &fileinfo) == 0);_findclose(hFile);}count_words(read_file);return 0;}

执行效果:

功能4 从控制台读入英文单篇作品,这不是为了打脸老五,而是为了向你女朋
友炫酷,表明你能提供更适合嵌入脚本中的作品(或者如她所说,不过是更灵活
的接口)。如果读不懂需求,请教师兄师姐,或者 bing: linux 重定向,尽管
这个功能在windows下也有,搜索关键词中加入linux有利于迅速找到。

重点:本题与前面的区别是可以输入一整句话或者一个文档。

代码

    if (strcmp(argv[1], "-f") == 0) {if (_access(argv[2], 0) == -1) {printf("'%s' not found!\n", argv[2]);return -1;}char *read_file = open_file(argv[2]);count_words(read_file);return 0;}else if (strcmp(argv[1], "-d") == 0) {char *read_file, *read_tmp;if (!(read_file = (char *)malloc(MAX_MUTI_LENGTH))) {printf("malloc error!\n");return -1;

psp:

总结:(1)作业中四项小功能都是整合到数组中利用指针进行检索,虽然也能实现功能,但是执行时间上较慢,尤其是功能三就会显得更慢。方法选择上也是有待改进,这也是以后需要提高的地方。这周作业也是对自己有了很大的锻炼,在写程序过程中暴漏了非常多的缺点,我也是经过室友的指点帮助,才能完成,让我看到与能力强的同学之间的差距。不仅仅是一些语法的概念,还有逻辑思维能力,我的思想多么的有局限性。代码的执行结果并不是与老师的完全相同,这就好比是无法达到客户的需求一样,这方面也是要加强练习。

    (2)在这次作业中又了解到了与代码有关的网站以及tortoise的使用,作为一名计算机专业的学生,平时还是要多关注一下这些方面的应用。

转载于:https://www.cnblogs.com/yty0726/p/11513192.html

杨天宇20180912-3 词频统计相关推荐

  1. 罗杨美慧 20180912-3 词频统计

    此作业的要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/6583 词频统计 编写一个名为wf的程序,统计英文作品的单词量并给出每个单 ...

  2. 组合数据类型练习,英文词频统计实例上

    1.name=['陈楠芸','陈文琪','刘书签','杨必须'] scores=[7,6,6,5] d={'陈楠芸':7,'陈文琪':6,'刘书签':6,'杨必须':5} print(d) #增加 d ...

  3. 《Spark实时词频统计处理系统》

    ------此项目整理自<Spark Streaming 实时流式大数据处理实战>肖力涛                                             第8章 实 ...

  4. java统计词频算法_Java实现的词频统计——功能改进

    本次改进是在原有功能需求及代码基础上额外做的修改,保证了原有的基础需求之外添加了新需求的功能. 功能: 1. 小文件输入--从控制台由用户输入到文件中,再对文件进行统计: 2.支持命令行输入英文作品的 ...

  5. 北京交通大学Python课程设计大作业(四)——典籍词频统计

    北京交通大学Python课程设计大作业(四)--典籍词频统计 文章目录 北京交通大学Python课程设计大作业(四)--典籍词频统计 一.词频统计任务介绍 二.典籍词频统计python源代码如下 三. ...

  6. 用R语言做词频统计_R语言 | 词频统计

    Python网络爬虫与文本数据分析 本章内容 导入停用词 读数据,分词 剔除停用词 导入停用词表 library(dplyr) ## [1] "?" "." & ...

  7. 统计csv词频_中文词频统计

    中文词频统计 1. 下载一长篇中文小说. <倚天屠龙记> 2. 从文件读取待分析文本. 3. 安装并使用jieba进行中文分词. pip install jieba import jieb ...

  8. 201671010417 金振兴 词频统计软件项目报告

    1.需求分析 按照<构建之法>第2章中2.3所述PSP流程,使用JAVA编程语言,独立完成一个英文文本词频统计的软件开发. .程序可读入任意英文文本文件,该文件中英文词数大于等于1个. . ...

  9. 字符串操作、文件操作,英文词频统计预处理

    1.字符串操作: 解析身份证号:生日.性别.出生地等 凯撒密码编码与解码 网址观察与批量生成 (1)解析身份证: 编译结果: (2)凯撒密码编码与解码 编译结果: 2.英文词频统计预处理 下载一首英文 ...

最新文章

  1. hdu5296 01字典树
  2. 分布式服务框架 dubbo/dubbox 入门示例(转)
  3. element tree不刷新视图_不懂Linux Device Tree,被新人嘲笑之后,含泪写完
  4. settimeout需要清除吗_前端20个真正灵魂拷问,前端初级到中级你还需要这个!
  5. PHP笔记-双色球例子
  6. 进制转换(洛谷-P1017)
  7. 微信小程序页面间传递文本数据
  8. linux eclipse stm32,在ubuntu下利用eclipse搭建stm32开发环境和st-link调试
  9. 华为路由器与CISCO路由器在配置上的差别
  10. 玩玩AJAX之使用ashx文件响应来自JQuery的JSON请求.
  11. HBase跨版本数据迁移总结
  12. 无人机——凤凰模拟器篇(五)遥控器的配置教程
  13. 软件测试【个人简历】展示模板
  14. 碰撞检测——碰撞器和物理材质
  15. [代码审计]DuxCMS 2.0审计
  16. s3 java sdk_s3javasdk文档.pdf
  17. 陶云机器人_小帅智能机器人app
  18. matlab趋势分析法,趋势分析法案例.pdf
  19. adb简介及常用命令
  20. phpnow下安装cmstop大众版需要注意的地方

热门文章

  1. Javascript轻应用命令行工具
  2. 你已经拿到手的人工智能手(zha)机(dan)
  3. 违禁词过滤器 DFA算法升级版
  4. 在LINUX中用cal命令解了一段人类文明历史 1752年 - 九月
  5. java入门第一周总结
  6. 忧天的“杞人” worry wart
  7. Microsoft Project教程_编程入门自学教程_菜鸟教程-免费教程分享
  8. HTML5表单:工具箱中的可靠工具
  9. 一元函数微分学中的极限,可导,连续,可微的定义和理解
  10. 前端学习(五)HTML5部分新特性