对wordcount单词字母部分的修改
原始代码:
int s;
s = ch;
switch (s)
{
case 'a':letter[0]++; break;
case 'b':letter[1]++; break;
case 'c':letter[2]++; break;
case 'd':letter[3]++; break;
case 'e':letter[4]++; break;
case 'f':letter[5]++; break;
case 'g':letter[6]++; break;
case 'h':letter[7]++; break;
case 'i':letter[8]++; break;
case 'j':letter[9]++; break;
case 'k':letter[10]++; break;
case 'l':letter[11]++; break;
case 'm':letter[12]++; break;
case 'n':letter[13]++; break;
case 'o':letter[14]++; break;
case 'p':letter[15]++; break;
case 'q':letter[16]++; break;
case 'r':letter[17]++; break;
case 's':letter[18]++; break;
case 't':letter[19]++; break;
case 'u':letter[20]++; break;
case 'v':letter[21]++; break;
case 'w':letter[22]++; break;
case 'x':letter[23]++; break;
case 'y':letter[24]++; break;
case 'z':letter[25]++; break;
case 'A':letter[0]++; break;
case 'B':letter[1]++; break;
case 'C':letter[2]++; break;
case 'D':letter[3]++; break;
case 'E':letter[4]++; break;
case 'F':letter[5]++; break;
case 'G':letter[6]++; break;
case 'H':letter[7]++; break;
case 'I':letter[8]++; break;
case 'J':letter[9]++; break;
case 'K':letter[10]++; break;
case 'L':letter[11]++; break;
case 'M':letter[12]++; break;
case 'N':letter[13]++; break;
case 'O':letter[14]++; break;
case 'P':letter[15]++; break;
case 'Q':letter[16]++; break;
case 'R':letter[17]++; break;
case 'S':letter[18]++; break;
case 'T':letter[19]++; break;
case 'U':letter[20]++; break;
case 'V':letter[21]++; break;
case 'W':letter[22]++; break;
case 'X':letter[23]++; break;
case 'Y':letter[24]++; break;
case 'Z':letter[25]++; break;
}
开始写时,也觉得这样的表述不够简洁。但由于当时写了好长时间的代码,思路也不是很清晰,就用这种相对来说比较笨的方法。事后也忘记来修改更新这一部分。
以下是更改后的代码:
int j;
char i;
for (i = 'a', j = 0; i <= 'z'; i++, j++)
{
if (ch == i)
{
letter[j]++;
break;
}
}
for (i = 'A', j = 0; i <= 'z'; i++, j++)
{
if (ch == i)
{
letter[j]++;
break;
}
}
使用的是ASCILL码来控制。char型变量i从a开始一直加到z,用来比较字符是否相等。int型变量j从0开始,用来控制对应的数组下标。
文件输入的路径可能会很长,而我之间数组大小设为20,这是远远不够的,我也对此做出了修改
char filename[50];
长度改为50。
新增加模块:字符的分类统计,把字母和符号分开来统计计数。新增函数void Sort(char ch);代码如下:
void Sort(char ch)
{
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
{
chnum++;
return;
}
else
signum++;
}
chnum用来记录字母的数量,signum用来记录符号的数量。初值都为0。
以上就是我对wordcount的修改,其中还是存在很多的不足,希望大家多提宝贵意见。特别要感谢邹欣老师阅读我的博客,并且提出宝贵的意见。让我能使我的程序更加优化。
对wordcount单词字母部分的修改的更多相关文章
- hadoop笔记之MapReduce的应用案例(WordCount单词计数)
MapReduce的应用案例(WordCount单词计数) MapReduce的应用案例(WordCount单词计数) 1. WordCount单词计数 作用: 计算文件中出现每个单词的频数 输入结果 ...
- Eclipse上运行第一个Hadoop实例 - WordCount(单词统计程序)
需求 计算出文件中每个单词的频数.要求输出结果按照单词的字母顺序进行排序.每个单词和其频数占一行,单词和频数之间有间隔. 比如,输入两个文件,其一内容如下: hello world hello had ...
- 第六篇:Eclipse上运行第一个Hadoop实例 - WordCount(单词统计程序)
需求 计算出文件中每个单词的频数.要求输出结果按照单词的字母顺序进行排序.每个单词和其频数占一行,单词和频数之间有间隔. 比如,输入两个文件,其一内容如下: hello world hello had ...
- Hadoop WordCount单词计数原理
计算文件中出现每个单词的频数 输入结果按照字母顺序进行排序 编写WordCount.java 包含Mapper类和Reducer类 编译WordCount.java javac -classpath ...
- Python 单词字母顺序不变且所有倒排
翻出google測试project师的一道题目: 设计一个函数,不论什么语言都能够,实现下面功能: 一个句子,将句子中的单词所有倒排过来,但单词的字母顺序不变.eg. this is a real ...
- Spark本地环境实现wordCount单词计数
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6814778610788860424/ 编写类似MapReduce的案例-单词统计WordCount 要统计的文件为 ...
- hive学习之WordCount单词统计
看hive目录下就可以了,程序在hdfs里创建一个hive的大文件夹,相当于数据库吧.上面就是一个完整的利用hive来做单词统计,其中的优劣也能看出一点.
- eclipse批量替换,修改变量名或单词(两种方法)
第一种(常用): ①如图:双击选中变量名id,右键选择Refactor中的Rename ②之后如下图所示,红箭头的带有方框的就是选中修改的变量名,此时修改提示框的内容,后面带方框的也跟着修改, 而蓝色 ...
- NLP之TextLSTM(预测单词下一个字母)
LSTM 目录 LSTM 1.理论 1.1 LSTM与RNN 1.1.1 RNN的缺点 1.1.2 LSTM 1.2 LSTM基本结构 2.实验 2.1 实验步骤 2.2 算法模型 1.理论 1.1 ...
随机推荐
- Nginx日志格式log_format详解
PS:Nginx日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径.类型.缓存大小等,一般放在Nginx的默认主配置文件/ ...
- Python读取PE文件(exe/dll)中的时间戳
代码原文地址: https://www.snip2code.com/Snippet/144008/Read-the-PE-Timestamp-from-a-Windows-Exe https://gi ...
- dell t130服务器安装windowsserver2008R2系统
dell T130服务器系统是可以安装windowsserver2008R2系统. 总共8个USB端口: 后置USB:2个USB 3.0和4个USB 2.0 前置USB:1个USB 2.0和1个USB ...
- redis数据库的简单介绍
NoSQL:一类新出现的数据库(not only sql) 泛指非关系型的数据库 不支持SQL语法 存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式 NoSQL的世 ...
- awk实战演示
awk:报告生成器,格式化文本输出. 我们一般使用的awk命令其实就是gawk,在centos7系统下,awk是gawk的链接文件. 基本用法:gawk [options] 'program' FI ...
- C#中类为什么要实例化
在使用C#语言时,发现一下有关类实例化的问题,在此之前先复习一下类和对象的概念,类是一个抽象体,是对一类事物的抽象体:而对象就是一个具体的事物,对象的抽象就是类.车就是一个类,而车包括面包车,小汽车, ...
- django知识点回顾(上)
Django---知识点: 1. 配置文件: media: avatar = models.FileField(upload_to='avatar')#数据库里的model MEDIA_ROOT=os ...
- 从头学Android之RelativeLayout相对布局
http://blog.csdn.net/worker90/article/details/6893246 相对布局对于做Web开发来说再熟悉不过了,我们在用CSS+DIV的时候经常会用到这些类似的相 ...
- 键值对的算子讲解 PairRDDFunctions
1:groupByKey def groupByKey(): RDD[(K, Iterable[V])] 根据key进行聚集,value组成一个列表,没有进行聚集,所以在有shuffle操作时候避免使 ...
- 查看linux服务器的配置
https://zhidao.baidu.com/question/489376921.html 1.查看逻辑CPU个数: #cat /proc/cpuinfo |grep "process ...