wordcount C
Gitee 代码链接:https://gitee.com/huangxue1111/codes/12rfs3ztj5ga8ymce7qi910
#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");
}
该程序主要代码做了相关注解。WC程序,程序流程:选txt文件——读取字符数加入一个数组——for循环计数
字符转移到数组主要分成两个部分:
第一部分先确定我们文件中的数据的长度,利用fseek函数判断指针;
第二部分利用数据长度把所有的字符一次性全部读入到str数组中,利用fread函数
判断行数利用的是for循环挨个进行字符的判断,判断数组中的\n个数,然后根据\n的个数确定行数,用num4表示
空格数的判断也是利用for循环确定字符中共有多少个空格字符,用num2表示
单词数的个数是利用两个空格之间为一个单词的算法来确定的,具体算法即for循环中第一个if语句,用num1表示
字符数的判断则可利用总字符数,行数,还有空格数通过推导得出num3=length-num2-num4*2
这里以wang.txt为例进行演示,共三组测试数据:
第一组
第二组:
第三组:
三组测试数据如上。
第一个博客,激动。
参考文献:https://bbs.csdn.net/topics/390951688?page=1
转载于:https://www.cnblogs.com/huangxue1111/p/9697290.html
wordcount C相关推荐
- 2021年大数据Spark(三十六):SparkStreaming实战案例一 WordCount
目录 SparkStreaming实战案例一 WordCount 需求 准备工作 代码实现 第一种方式:构建SparkConf对象 第二种方式:构建SparkContext对象 完整代码如下所示: 应 ...
- 2021年大数据Spark(二十七):SparkSQL案例一花式查询和案例二WordCount
目录 案例一:花式查询 案例二:WordCount 基于DSL编程 基于SQL编程 具体演示代码如下: 案例一:花式查询 package cn.itcast.sqlimport org.apache. ...
- Spark-Spark setMaster WordCount Demo
Spark setMaster源码 /*** The master URL to connect to, such as "local" to run locally with o ...
- Ubantu下hadoop运行第一个例子wordcount过程
Ubantu12.04下hadoop-1.2.1运行第一个例子wordcount过程,分享一下 将WordCount.java文件放在Hadoop安装目录下,并在安装目录下创建输入目录input,目录 ...
- WordCount扩展与优化
合作者:201631062327,201631062128 码云地址:https://gitee.com/LIUJIA6/WordCount3 一:项目说明 本次项目是在上次作业WorldCount的 ...
- 初学Hadoop之图解MapReduce与WordCount示例分析
Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算. HDFS是Google File System(GFS) ...
- java8 wordcount_Spark2.x与Java8下WordCount示例
spark深度学习指南+进阶实战2册 123.9元 包邮 (需用券) 去购买 > 不用 lambda 的基础版 import org.apache.spark.api.java.JavaPair ...
- 006 Spark中的wordcount以及TopK的程序编写
1.启动 启动HDFS 启动spark的local模式./spark-shell 2.知识点 textFile: def textFile( path: String, minPartitions: ...
- 命令行下编译Wordcount
1. 编辑WordCount.java文件,在下载的hadoop安装包里有WordCount的例子 http://mirrors.hust.edu.cn/apache/hadoop/common/ha ...
- 命令行运行hadoop实例wordcount程序
参考1:http://www.cnblogs.com/flying5/archive/2011/05/04/2078408.html 需要说明的有以下几点. 1.如果wordcount程序不含层次,即 ...
最新文章
- quickpcb添加pcb库_quickpcb使用说明
- opencv-python视频处理之录制视频
- hdu2102(bfs)
- jQuery kxbdMarquee 无缝滚动
- int函数在Oracle,vb中int是什么意思 ?
- 安装eclipse版本oxygen,及maven导入spring mvc项目并运行
- scrapy爬取某网站文章
- dedecms 常用标签
- django filter查询多选_django model filter查询
- leetcode python3 简单题21. Merge Two Sorted Lists(Linked)
- MBR分析(1): 代码获取与初始化
- MYSQL间隙锁详解
- 全球人工智能产业链产业图谱
- Ubuntu20.04 用 `hwclock` 或 `timedatectl` 设置RTC硬件时钟为本地时区
- 新媒体时代下如何践行网络口碑营销?
- 轩小陌的Python笔记-day16 模块二总结
- DailyFi - 9.15|PrimeDAO 完成 200万美元种子轮融资,Paradigm 研究员发布新 NFT 碎片化产品...
- MSELoss() 函数
- AutoCAD Civil 3D-超高及数据编辑输入
- Jetson-Xavier-NX使用教程(这里说插上烧好镜像的SD卡上电就可以直接用了)
热门文章
- Android日志[基础篇]Android Log日志输出
- 电脑一开机出rebootand_北京联想电脑维修点【蓝伟博达笔记本维修吧】
- 底层实现_Java AOP的底层实现原理
- c语言中O空字符,OC语言中字符串的使用
- ubuntu 中 ROS 一些报错的解决
- 高考python必考题目_假如高考考python编程,这些题目你会几个呢?
- python使用pkg包_Python deb-pkg-tools包_程序模块 - PyPI - Python中文网
- anaconda3 tensorflow安装踩坑记(WIN10+tensorflow带gpu版本)
- php中多选提交如何获取,php中checkbox值获取,显示,多选值获取
- 取值方法_「EV3进阶课」制作小游戏:数据取值体系要统一(三)