栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

通过c语言求得一个英文句子中的单词数量

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过c语言求得一个英文句子中的单词数量

思路:

从末尾思考,一个单词结束以后一定会接一个非字母(空格、符号等)。所以有一个英文字母的下一个字符为非字母,则代表一个单词的结束。

准备:

能执行c语言的环境

代码:

int countWords(const  char* sentence)
{
    int count = 0,i=0;
    while(sentence[++i] != '')
        if(sentence[i] <= 'z' && sentence[i] >= 'a' &&
           (sentence[i + 1] < 'a' || sentence[i + 1] > 'z'))//字母且下一个不是字母
            count++;
    return count;
}


PS:

这个函数不适用于太小(2个字符及以下)和末尾没有''的字符串。不过既然都要求句子的单词数量了,为什么要选择太小的字符串呢?

并且这并不是真正求单词的函数,而是求连续小写字母块的数量,并且还不包含其他特殊情况(比如德语的öäüß字母)。如果真要求单词,可以在计数增加(count++)那里加个单词比对的功能

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779944.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号