wordcounter
这周是一个wc的程序,通过C语言在WINDOWS上实现的。
我在通过参考的代码后,发现WC程序的代码其实相当简洁,主要的代码不过十数行。主要通过设置一个字符型变量,这个变量可以得到一个从键盘输入的字符,并且判断这个字符是什么类型的,从而给相应的计数器计数。
譬如在本程序中,首先,设置当前状态的变量,判断当前是否在统计的区域state,统计字符的整数型变量characters,统计行数的整数型变量lines,统计单词的整数型变量words,以及获得键盘的输入的字符型变量c。初始化这些整数型的变量,让其都为0,与此同时,state==0表示当前的光标在单词之中,state==1时则表示光标不在单词之中。循环条件为当从键盘输入的字符不为‘0’时,则继续循环。如果不为0,则说明输入了一个有效的字符,这时统计字符的整数型变量characters++,相应的,如果得到的字符为’\n‘则表示当前的输入为回车,表示换行。而字符’ ‘,字符’\t‘,字符’\n‘出现时,我们可以认为此时的光标从单词里面跳到单词的外面,一个单词结束了,置state为0,随后在判断完输入的字符后,判断state的状态,如果state等于0,那么words++,随后置state为1,表示一个新的单词开始输入。
wc程序是一个简单的代码,我基本没有对代码进行修改,只是添加了一点注释。
代码:https://github.com/oreki99710710/assignment2/tree/master
代码参考来源:http://blog.chinaunix.net/uid-22566367-id-381958.html
wordcounter的更多相关文章
- 第三周作业(三)---WordCounter
需求是这样的.写出一个程序,模仿wc.exe,可以统计出文件的一些信息(比如字符数.单词数目等等) 对于这个程序,我仍然用我从大一学来的C语言写的. 第一步:打开文件 printf("请输入 ...
- 软件工程——Word-Counter
Python实现Word-Counter 一.前言 Github地址:https://github.com/hzquestion/Word-Counter 二.项目概述 实现一个统计程序,它能正确统计 ...
- WordCounter Python实现
<!doctype html>博客.md p:first-child, #write > ul:first-child, #write > ol:first-child, #w ...
- Storm的wordCounter计数器详解
原文:http://www.maoxiangyi.cn/index.php/archives/362 拓扑 点击(此处)折叠或打开 package cn.jd.storm; import backty ...
- Ruby实现wordCounter
做解密发现的: m={} File.open("test1.txt") do |f| f.each_line do |line| line.chomp! #去除每行结尾的回车(\n ...
- WordCounter项目(基于javase)
1. Github项目地址: https://github.com/Flyingwater101/WordCount 1. PSP表格 PSP2.1 Personal Software Proce ...
- VSCODE 插件初探
写在前面 分享一个vscode插件background(用于改变背景).点击直接跳到vscode插件开发步骤 做vscode的插件,很久就有这个想法了,但是一直因为这样,那样的事情耽误,放弃了N次.不 ...
- LINQ之路 8: 解释查询(Interpreted Queries)
LINQ提供了两个平行的架构:针对本地对象集合的本地查询(local queries),以及针对远程数据源的解释查询(Interpreted queries). 在讨论LINQ to SQL等具体技术 ...
- storm入门(二):关于storm中某一段时间内topN的计算入门
刚刚接触storm 对于滑动窗口的topN复杂模型有一些不理解,通过阅读其他的博客发现有两篇关于topN的非滑动窗口的介绍.然后转载过来. 下面是第一种: Storm的另一种常见模式是对流式数据进行所 ...
随机推荐
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-2设置SSH免密登录
因为hadoop集群在安装的时候需要集群中所有机器的权限. 所以我们需要打通所有节点的ssh无密码登陆,思路是生成每台机子的密钥,集中在一个文件中,再分发到每台机子上. 为了确保下面的命令能顺利执行, ...
- 防火墙配置(CiscoPT&GNS3)
第一部分:扩展ACL 拓扑图 地址表 Device Interface IP address R1 F 0/0 172.16.19.1 F 0/1 10.3.19.1 S 0/0/1 10.1.19. ...
- scrapy项目对接Docker
1.项目根目录生成requirements.txt文件 命令pip freeze > requirements.txt 2.项目根目录新建Dockerfile文件,文件不加任何后缀名 内容如下 ...
- 盯着这where or 终于出了点感觉
AND 和 OR 运算符 AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来. 如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录. 如果第一个条件和第二个条件中只要有 ...
- (C#)日志接口请求响应时间
日志接口响应时间,记录接口请求信息,响应结果以及响应时间等.可以清楚的分析和了解接口状态. 如果一个一个地在接口下面做日志,那不是我们想要的结果.所以,我们选择做一个特性来控制接口要不要记录请求响应日 ...
- vue项目获取地址栏参数(非路由传参)
在项目中,遇到一个需求,就是另一个系统直接跳转到我们项目中的某个页面,不需要做用户的校验直接单纯的跳转新页面,再初始化查询数据,参数以地址栏的形式传入 由于原来项目做过权限控制,所以在路由那边需要进行 ...
- [二分答案][NOIP2015]跳石头
跳石头 题目描述 一年一度的“跳石头”比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N 块岩石(不含起 ...
- java学习(一)
目录 java简介 java基础 基本语法 java标识符 java变量 变量类型 变量声明 java常量 Java 基本数据类型 内置数据类型 引用数据类型 Java类型转换 java注释 操作符 ...
- System.Web.Caching.Cache缓存帮助类
/// <summary> /// 缓存帮助类 /// </summary> public class CacheHelper { /// <summary> // ...
- Filter笔记
1.Filter [1] Filter简介 > Filter翻译为中文是过滤器的意思. > Filter是JavaWeb的三大web组件之一:Servlet.Filter.Listener ...