vlambda博客
学习文章列表

C语言---统计字符串中统计单词个数










C语言---统计字符串中统计单词个数
C语言---统计字符串中统计单词个数


C语言---统计字符串中统计单词个数

2020.08.17

C语言分享





#01#前言




C语言---统计字符串中统计单词个数

C语言---统计字符串中统计单词个数



C语言案例---统计字符串中统计单词个数

    在实际生活中经常会遇到一个问题:写英语作文时,常常要求满足一定的字数。在以往,要么我们一个一个的数;要么我们估算一行的单词数,然后用行数进行估算。
第一种方法太费时,若是长篇大论,那几乎是不可能统计的;而第二种方法不太准确。这就给我们留下了一个问题:如何又快、又准确地统计一篇英文文章中的单词数?

C语言案例---统计字符串中统计单词个数--if、while 语句应用

1、思想很简单,就是判断下空格,因为英文中单词与单词之间都是用空格隔开,判断到空格,那下一个遇到的第一个字符开头就为新的一个单词

具体如下:

2、用while+getchar不断从标准输入中读入字符并判断是不是结尾,既判断是否遇到'\n'

3、用if判断读入的字符是否是空格,如为空格则让sub为0(当遇到一个不为空格的字符的时候就是一个单词的新的开头),如果不为空格则看sub是否为0,如果为0则表明是新的一个单词,单词数加一,且sub赋1

4、大家可以结合代码来看,从代码来理解比较简单

本文分成三部分:

1、例子介绍

2、具体代码及说明

3、讨论区

#OVER#

C语言---统计字符串中统计单词个数

#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#

C语言---统计字符串中统计单词个数

#03#运行结果



输入一行字符:

I'm from China

总共有 3 个单词


#OVER#



C语言---统计字符串中统计单词个数
C语言---统计字符串中统计单词个数






视频来源:科学大世界

文字:科学大世界

文章封面图:网络

转载请声明:科学大世界

😘😘😘


觉得不错点个在看呗


2020/08/17