c语言程序设计c语言统计单词个数,单词个数算法(代码片段)

C语言编程俱乐部 C语言编程俱乐部     2023-01-12     432

关键词:

在实际生活中经常会遇到一个问题:写英语作文时,常常要求满足一定的字数。在以往,要么我们一个一个地数;要么我们估算一行的单词数,然后用行数进行估算。

第一种方法太费时,若是长篇大论,那几乎是不可能统计的;而第二种方法不太准确。这就给我们留下了一个问题:如何又快、又准确地统计一篇英文文章中的单词数?

 

算法思想

要解决这个问题,最自然的算法是,读取文章的所有内容,然后一个单词一个单词地统计,然而,我们在这里遇到了一个难题:程序看不懂英文,如何知道什么是一个单词,什么不是一个单词呢?似乎在这里遇到了障碍,可是,如果换个角度思考问题,也许会柳暗花明又一村:文章中的单词都是用空格间隔开的,换句话说,单词数=空格数+1。

程序不认识单词,但是程序认识空格啊!这样,整个问题实际上转换成了统计文章中的空格数。

有了这样的问题转换思路,整个问题就简单多了。可以先按照这个思路自己实现,也可以直接看下面的代码实现。

 

程序代码

#include <stdio.h>

int main()



    printf("输入一行字符:\\n");

    char ch;

    int i,count=0,word=0;

    while((ch=getchar())!='\\n')

        if(ch==' ')

            word=0;

        else if(word==0)

        

            word=1;

            count++;

        

    printf("总共有 %d 个单词\\n",count);

    return 0;

 

调试运行结果

根据程序提示,分别输入“I love China”和“I love Xichang College”两个字符串代码, 程序统计单词后输出结果分别如下所示:

输入一行字符:

I Love China

总共有 3 个单词

输入一行字符:

I Love Peking University

总共有 4 个单词

 

总结

本实例展示了如何对字符数组进行操作,类型为字符型的数组称为字符数组,C 语言中没有专门的字符串变量,但是有字符数组串常量,所以字符串常量的存储是通过对字符数组的操作来完成的。

最后,不管你是转行也好,初学也罢,进阶也可,如果你想学编程~

【值得关注】我的 C/C++编程学习交流俱乐部【点击进入】

问题答疑,学习交流,技术探讨,还有超多编程资源大全,零基础的视频也超棒~

c语言试题八十之统计单词个数(代码片段)

...总里可用于计算机二级C语言笔试、机试、研究生复试中C程序设计科目、帮助C语言学者打好程序基础、C语言基础,锻炼您的逻辑思维和解决问题的能力,帮助你成为C语言笔试、机试解题高手,帮助你拿到C语言工作的offer,每一... 查看详情

c语言输入一句英文,统计其中单词个数,单词之间用空格隔开

#include<stdio.h>intmain() charstring[32]; inti,num=0,word=0; charc; printf("请输入一句英文:"); gets(string); for(i=0;(c=string[i])!='\\0';i++) if(c& 查看详情

c语言统计歌词中的单词个数,并找出最短和最长的单词(必须用指针)求帮忙,感谢!!!

统计歌词中的单词个数,并找出最短和最长的单词。歌词:Daddyfinger,Daddyfinger,whereareyou?HereIam.HereIam.Howdoyoudo?Mammyfinger,Mammyfinger,whereareyou?HereIam.HereIam.Howdoyoudo?Brotherfinger,Brotherfinger,whereareyou?HereIam.HereIam.Howdoyoudo?Sisterfinger,Sisterfinger,whe... 查看详情

c语言统计单词个数

输入一段字符串,统计其中的单词个数比如:输入IlikeiOS输出:3输入thisisQianFengCollege输出:5Q:输入一串字符串,输出其中有多少个单词。 Eg:GoodWishes A:#include<stdio.h>#include<string.h>#defineSIZE20intmain()  charstr[SI... 查看详情

c语言:输入一行字符,统计其中的单词个数,单词之间用空格分开

#include<stdio.h>voidmain()inti,c,num=0,word=0;charstr[40];gets(str);for(i=0;c=(str[i])!='\0';i++)if(c=="")word=0;elseif(c==word)word=1;num++;printf("%d\n",num);程序如何修改?这两个我测试过,符合你的问题一个是数组,一个是指针... 查看详情

c语言输入一个字符串,统计其中的单词个数,将第一个单词的首字母改为大写,并输出改写后的字符串(代码片段)

#include<stdio.h>intmain()chara[100];inti,j=1;printf("请输入一串字符:");gets_s(a);for(i=0;a[i]!=‘ 查看详情

zznuoj_c语言1133:单词个数统计(附完整源码)(代码片段)

题目描述从键盘输入一行字符,长度小于1000。统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。输入输入只有一行句子。仅有空格和英文字母构成输出单词的个数样例输入problemConsists     ofMatchi... 查看详情

zznuoj_c语言1133:单词个数统计(附完整源码)(代码片段)

题目描述从键盘输入一行字符,长度小于1000。统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。输入输入只有一行句子。仅有空格和英文字母构成输出单词的个数样例输入problemConsists     ofMatchi... 查看详情

c语言:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开

...,')s++;scanf("%c",&a);cout<<s;return0;扩展资料C语言统计文件中的字符数、单词数注意事项1、空白字符(空格和tab缩进)不计入字符总数;2、单词以空格为分隔;3、不考虑一个单词在两行的情况;4、限制每行的字符... 查看详情

201671010431+词频统计软件项目报告

...析按照《构建之法》第2章中2.3所述PSP流程,使用JAVA编程语言,独立完成一个英文文本词频统计的软件开发。软件基本功能要求如下:1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。2.程序需要很壮健,能读取... 查看详情

c语言词频统计设计

...序方式输出。  设计:1.因为功能相对简单,采用C语言直接进行编写。2.项目包含的统计功能利用定义的结构体分别对单词和次数进行统计。3.以字符串的形式读取单词,并对其中的每个字符进行标点分析。4.统计完成后采... 查看详情

统计单词个数(代码片段)

...一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。(凡是以一个或多个空格隔开的部分就为一个单词)输入描述:输入包括1行字符串,以“.”结束,字符串中... 查看详情

单词个数统计上机实验

...是以空格隔开的,以此来截取单词3进行相同单词的比较统计4输出单词的个数源代码(部分):importjava.io.BufferedReader;importjava.io.FileNotFoundExcep 查看详情

第五周编程总结(代码片段)

...方面帮助我实现目标运用字符串进行编程参考文献C语言程序设计Ⅱ7-1统计一行文本的单词个数(15分)本题目要求编写程序统计一行字符中单词的个数。所谓“单词&r 查看详情

输入一个字符串,统计其中单词的个数

示例Howareyou?单词数:3注意啊,如果单词间空2个空格或更多呢下面2个都不对啊参考技术A#include<conio.h>#include<stdio.h>voiddespace(char*s,int*i)while(s[*i]=='')(*i)++;intmain()intcount=0,i=0;chars[50];charc;gets(s);while((c=s[i])!='\0')i... 查看详情

c语言输入一行字符统计其中有多少个单词,单词之间用空格分隔开

#include<Studio.h>main()charstring〔81〕;inti,num=0,word=0;charc;getS(String);for(i=0;(c=String〔i〕)!='\0';i++)if(c=='')word=0;elseif(word==0)word=1;num++;printf("Thereare%dwordSintheline.\n",num);运行情况如下:Iamaboy.Thereare4wordsintheline.就... 查看详情

输入一个字符串,统计其中包含的单词个数,假设单词与单词之间用空格分隔。

用C++写的参考技术A#include<stdio.h>voidmain()//统计一行文字中的单词个数,用指针实现charstr[100];inti=0,num=0;char*p;printf("请输入一行文字:\n");gets(str);p=str;//因为单词之间是用空格隔开的,只要统计出句子中空格的个数就... 查看详情

第3章-14.统计一行文本的单词个数(15分)(代码片段)

本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。输入样例:Let‘sgot... 查看详情