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的另一种常见模式是对流式数据进行所 ...
随机推荐
- Java I/O - 对象的输入输出与序列化
先说概念: 一.相关概念 序列化是Java提供的一种将对象写入到输出流.并在之后将其读回的机制. 序列化:把内存中的java对象转换成与平台无关的二进制字节序列,以便永久保存在磁盘上或通过网络进行传输 ...
- Linux镜像清理日志操作
1.安全 没有其他用户 查看 ll /home下没有其他用户 2.清理日志 rm -rf /root/* rm -rf /tmp/* rm -rf /etc/udev/rules.d/persist ...
- Oracle--通配符、Escape转义字符、模糊查询语句
一.通配符通配符描述示例 %:匹配包含零个或更多字符的任意字符串.WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名. ...
- localhost换成127.0.0.1和本机IP打不开本地项目了的问题
点击桌面右下角的小三角, iis express右键—>显示所有应用程序—>点击网站名称,配置文件路径,找到配置文件,以记事本打开, 按照configuration--system.app ...
- 通过该源码修改vim颜色和pudb调试器的代码颜色的方法
2019-02-19,18点20vim调整颜色vim ~/.vimrc 这个pudb的配色用上的方法改不了.调试状态时候按o和回车能切换console和调试界面. 成功了.通过修改pudb源代码来实现 ...
- 无符号1byte转int
在java基本类型中byte是有正负之分,它的取值范围-128到127,有时候在网络编程里我们只需要正数,于是会约定1byte是无符号的,它的取值范围在255-0.那么我们怎么将无符号的1byte转为 ...
- liunx一键安装禅道
一定要把压缩吧放在/opt下面,然后tar解压,启动 https://blog.csdn.net/sinat_23957257/article/details/82697458
- SOP - Validation
Table of Contents目录表1 Roles and Responsibilities related to validation与验证相关的1个角色和职责2 Introduction2引言 ...
- Ubuntu学习之路
一. Ubuntu简介 Ubuntu(乌班图)是一个基于Debian的以桌面应用为主的Linux操作系统,据说其名称来自非洲南部祖鲁语或科萨语的“ubuntu”一词,意思是“人性”.“我的存在是因为大 ...
- 行盒(line box)垂直方向的属性详解:从font-size、line-height到vertical-align
视觉格式化模型 在一个文档中,每个元素都被表示为0.1或多个矩形的盒子.确定这些盒子的尺寸, 属性 --- 像它的颜色,背景,边框方面 --- 和位置是渲染引擎的目标.① 在CSS中,使用标准盒模型描 ...