C语言---统计字符串中统计单词个数
Posted 科学大世界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言---统计字符串中统计单词个数相关的知识,希望对你有一定的参考价值。
2020.08.17
C语言分享
●
●
●
#01#前言
C语言案例---统计字符串中统计单词个数
在实际生活中经常会遇到一个问题:写英语作文时,常常要求满足一定的字数。在以往,要么我们一个一个的数;要么我们估算一行的单词数,然后用行数进行估算。
第一种方法太费时,若是长篇大论,那几乎是不可能统计的;而第二种方法不太准确。这就给我们留下了一个问题:如何又快、又准确地统计一篇英文文章中的单词数?
C语言案例---统计字符串中统计单词个数--if、while 语句应用
1、思想很简单,就是判断下空格,因为英文中单词与单词之间都是用空格隔开,判断到空格,那下一个遇到的第一个字符开头就为新的一个单词
具体如下:
2、用while+getchar不断从标准输入中读入字符并判断是不是结尾,既判断是否遇到'\n'
3、用if判断读入的字符是否是空格,如为空格则让sub为0(当遇到一个不为空格的字符的时候就是一个单词的新的开头),如果不为空格则看sub是否为0,如果为0则表明是新的一个单词,单词数加一,且sub赋1
4、大家可以结合代码来看,从代码来理解比较简单
本文分成三部分:
1、例子介绍
2、具体代码及说明
3、讨论区
#OVER#
#02#具体代码及说明
#include <stdio.h>
int main()
{
printf("输入一行字符:\n");
char ch;//储存字符串
int count=0,sub=0;//定义count储存单词个数,定义sub储存判断是否遇到空格的赋值初始赋0
while((ch=getchar())!='\n')//判断字符串是否到末尾
if(ch==' ')//判断是不是遇到空格,遇到则赋值0
sub=0;
else if(sub==0)//判断遇到不为空格的时候,sub是否为0既该字符前面是否为空格,如果为空格则count加一同时sub赋1
{
sub=1;
count++;
}
printf("总共有 %d 个单词\n",count);//输出单词个数
return 0;
}
修改意见:
1、可以增加字符串判断,判断是不是一个语句的必要成分,以避免像{}或者中文等等这类符号统计进去
#OVER#
#03#运行结果
输入一行字符:
I'm from China
总共有 3 个单词
#OVER#
●
●
●
视频来源:科学大世界
文字:科学大世界
文章封面图:网络
转载请声明:科学大世界
以上是关于C语言---统计字符串中统计单词个数的主要内容,如果未能解决你的问题,请参考以下文章
Linux中统计,检索和过滤文件内容的命令以及压缩归档命令(wc,grep,gzip,bzip2,
c语言:输入一行字符,统计其中的单词个数,单词之间用空格分开