wordcount程序

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
#define IN 1
#define OUT 0
void main() {
FILE *fp;
int length;
fp = fopen("wang.txt","r");//打开要计数的文件
if (fp == NULL)
{
printf("can not open file");
exit(0);
}
fseek(fp, 00, SEEK_END);
length = ftell(fp);
printf("%d\n", length);//确定所要查找的文件中总字符数长度,并在屏幕中显示出来
rewind(fp);
char str[100000], c;
fread(str, sizeof(char), length, fp);//从文件中读取所有的字符到str序列
int i, num1 = 0, num2 = 0, num3, num4=0, word = OUT;
for (i = 0; (c = str[i]) != ‘\0‘; i++)
{
if (c == ‘ ‘)//判断字符中单词数
{
num2++;
word = OUT;
}
else
{
if (word == OUT)
{
word = IN;
num1++;
}
}
if ((c = str[i]) == ‘\n‘)
{
num4++;
}
}
num3 = length - num2-num4*2;//字符数
num4++;//行数
fclose(fp);
printf("空格数为%d\n", num2);
printf("单词数为%d\n行数为%d\n字符数为%d\n", num1, num4, num3);
system("pause");

}

from  http://www.cnblogs.com/sunbuqiao/p/5312227.html

时间: 2024-10-04 18:49:54

wordcount程序的相关文章

标志数在wordcount程序中的应用与拓展

wordcount程序要求测出文本中的单词数,字符数和行数. 设计思路: 将文件读入,逐字检测,检测到空格单词数加一,检测到回车行数单词数加一,如果既不是回车也不是空格则说明是字符,字符数加一 编程时发现的问题: 以上思路针对的是正常输入的文本,实际输入时还会出现种种特殊情况. 1.在一行结束时(换行符之前)出现空格,也就是文本后面加一个空格再按回车,这种情况会导致单词数多1. 2.文本结束时没有按下回车,会导致行数和单词数少1. 3.连续出现几个空格,也会导致单词数增多. 解决方案 设置标志数

在ubuntu上安装eclipse同时连接hadoop运行wordcount程序

起先我是在win7 64位上远程连接hadoop运行wordcount程序的,但是这总是需要网络,考虑到这一情况,我决定将这个环境转移到unbuntu上 需要准备的东西 一个hadoop的jar包,一个连接eclipse的插件(在解压的jar包里有这个东西),一个hadoop-core-*.jar(考虑到连接的权限问题) 一个eclipse的.tar.gz包(其它类型的包也可以,eclipse本身就是不需要安装的,这里就不多说了) 因为我之前在win7上搭建过这个环境,所以一切很顺利,但还是要在

eclipse下安装配置hadoop(含WordCount程序测试)

这里我为大家介绍如何在windows下安装配置hadoop.,以及测试一个程序 所需要使用的插件和分别有: 一.准备工作 1.eclipse,最好是JAVAEE版本的,以为可以改变模式. 2.hadoop和eclipse的连接器: hadoop-eclipse-plugin-1.2.1.jar(这个是我所使用的,在这里可以自定义选取版本) 3.是hadoop源码包(下载最新的就可以). 将hadoop-0.20.2-eclipse-plugin.jar 复制到eclipse/plugins目录下

Hadoop学习笔记(1):WordCount程序的实现与总结

开篇语: 这几天开始学习Hadoop,花费了整整一天终于把伪分布式给搭好了,激动之情无法言表······ 搭好环境之后,按着书本的代码,实现了这个被誉为Hadoop中的HelloWorld的程序--WordCount,以此开启学习Hadoop的篇章. 本篇旨在总结WordCount程序的基本结构和工作原理,有关环境的搭建这块,网上有很多的教程,大家可以自行找谷歌或百度. 何为MapReduce: 在开始看WordCount的代码之前,先简要了解下什么是MapReduce.HDFS和MapRedu

(三)配置Hadoop1.2.1+eclipse(Juno版)开发环境,并运行WordCount程序

配置Hadoop1.2.1+eclipse(Juno版)开发环境,并运行WordCount程序 一.   需求部分 在ubuntu上用Eclipse IDE进行hadoop相关的开发,需要在Eclipse上安装hadoop的开发插件.最新释放出的hadoop包含源码的包,以 hadoop-1.X为例,包含相关的eclipse插件的源码,因此可以针对自己的eclipse版本来编译一个合适hadoop的eclipse插件.下面将详细介绍插件的编译安装过程,以及在Eclipse上配置hadoop开发插

hadoop wordcount程序缺陷

在wordcount 程序的main函数中,没有读取运行环境中的各种参数的值,全靠hadoop系统的默认参数跑起来,这样做是有风险的,最突出的就是OOM错误. 自己在刚刚学习hadoop编程时,就是模仿wordcount程序编写.在数据量很小,作为demo程序跑,不会有什么问题,但当数据量激增,变成以亿计算时,各种问题都会出现. 所以一定要在main函数中,增加下面的代码,让程序去读取环境配置文件,得到你希望要的参数. Configuration.addDefaultResource("hdfs

编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本]

编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本] 1. 开发环境 Jdk 1.7.0_72 Maven 3.2.1 Scala 2.10.6 Spark 1.6.2 Hadoop 2.6.4 IntelliJ IDEA 2016.1.1 2. 创建项目1) 新建Maven项目 2) 在pom文件中导入依赖pom.xml文件内容如下: <?xml version="1.0" encoding="UTF-8"?> &l

021_在Eclipse Indigo中安装插件hadoop-eclipse-plugin-1.2.1.jar,直接运行wordcount程序

1.工具介绍 Eclipse Idigo.JDK1.7-32bit.hadoop1.2.1.hadoop-eclipse-plugin-1.2.1.jar(自己网上下载) 2.插件安装步骤 1)将hadoop-eclipse-plugin-1.2.1.jar放到eclipse安装目录的plugins文件夹中,重新启动eclipse. 2)打开Window-->Preferens,发现Hadoop Map/Reduce选项,说明插件安装成功,配置Hadoop installation direct

spark快速入门与WordCount程序机制深度解析 spark研习第二季

2.spark wordCount程序深度剖析 标签: spark 一.Eclipse(scala IDE)开发local和cluster (一). 配置开发环境 要在本地安装好java和scala. 由于spark1.6需要scala 2.10.X版本的.推荐 2.10.4,java版本最好是1.8.所以提前我们要需要安装好java和scala并在环境变量中配置好. 下载scala IDE for eclipse安装 连接:http://scala-ide.org/download/sdk.h

将java开发的wordcount程序部署到spark集群上运行

1 package cn.spark.study.core; 2 3 import java.util.Arrays; 4 5 import org.apache.spark.SparkConf; 6 import org.apache.spark.api.java.JavaPairRDD; 7 import org.apache.spark.api.java.JavaRDD; 8 import org.apache.spark.api.java.JavaSparkContext; 9 impo