一.问题描述

在遇到一个英文句子时需要判断其中的单词个数,我们可能首先会想到的是将字符串录入数组后对其每一个元素进行遍历,如果出现空格元素,则对标记变量进行自加操作。例如:"I love c programmer"这句话中有两个空格,则对应的单词个数为3=(2+1)个,但是当每个单词之间以任意个空格隔开的时候,那么这种方法便不起作用了。

事实上,我们这个问题可以这样去思考:

1.从字符串第一个元素开始遍历,当碰到第一个元素不为空时,则判定为这是一个单词

2.对该单词进行快速跳过,直到在新的空格后遇到第一个非空元素,此时为另一个单词

3.重复上述操作,直到把所有字母浏览完

二.代码实现

*我们考虑到不仅会有空格作为单词间的区分,还会有其他字符作为区分

#include <iostream>
using namespace std;
int main()
{char str[100];int count=0;//单词个数标记量cout<<"please input the string"<<endl;gets(str);for (int i=0;i<strlen(str);i++){if((str[i]>=65&&str[i]<=90)||(str[i]>=97&&str[i]<=122))//当判断第i个元素为大写字母或小写字母时count自加{count++;while(((str[i]>=65&&str[i]<=90)||(str[i]>=97&&str[i]<=122))&&str[i]!='\0')//当不是非字母元素时i自加(即将该单词快速遍历){i++;}}}cout<<"count="<<count<<endl;return 0;}

三.运行结果

判断字符串中单词个数(C++实现)相关推荐

  1. 统计字符串中单词个数

    要求:输入一个字符串,统计每个单词的个数.单词间用空格隔开,可多个空格,写出自己认为高效的算法. 例如:输入:I love love China 输出为: I: 1 love: 2 China: 1 ...

  2. 统计字符串中单词个数的算法优化

    要求:输入一个字符串,统计每个单词的个数.单词间用空格隔开,可多个空格,写出自己认为高效的算法. 例如:输入:I love love China 输出为: I: 1 love: 2 China: 1 ...

  3. python统计字符串中单词个数、单词之间用空格分割_输入一行字符,统计其中有多少个单词,单词之间用空格分隔开...

    展开全部 1.打开visualC++6.0-文件-新建62616964757a686964616fe59b9ee7ad9431333433633336-文件-C++SourceFile. 2.定义数组 ...

  4. go 语言之“查找一个字符串中汉字个数”

    题目:查找"hellodudu嘟嘟的老父亲"中汉字个数,并且输出对应位置 golang中有一个unicode包,这个包下有unicode.Is这个方法.这个方法可以用来判断汉字字符 ...

  5. 统计一个字符串中单词的个数

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p113 习题4 7.统计一个字符串中单词的个数.字符串中两个空格之间的非空格字符串可看做单词. #in ...

  6. C语言编程>第十周 ⑦ 请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行……

    例题:请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回.一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始和结尾都没有空格. 请勿改 ...

  7. 1.统计所输入字符串中单词的个数。2.删除一个list里面重复元素。3.将列表中的偶数变成它的平方,奇数保持不变。4.输入字符串,将其每个字符的ASCII码形成列表并输出.5.猜单词游戏

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 题目: 1.统计所输入字符串中单词的个数,单词之间用空格分隔. 代码: print("请输入字符(以空格隔开):" ...

  8. java字符串确定汉字_java中判断字符串中汉字的个数

    使用方法3与方法4时需要注意一些问题,代码中会有注释. 代码如下: package 包名; import java.util.ArrayList; import java.util.regex.Mat ...

  9. python统计字符串数字个数_python统计字符串中数字个数_后端开发

    python怎么随机生成奇数_后端开发 python随机生成奇数的方法:导入random模块,使用random模块生成随机数,然后判断生成的随机数是否为奇数,若是奇数就加入列表.使用此方法得到的列表包 ...

最新文章

  1. POP3、SMTP端口(SSL、TSL)
  2. linux+sed+-i替换路径,sed替换与别名配置
  3. 职业中专的计算机综合应用,职业中专计算机教学的思考
  4. Python ML环境搭建与学习资料推荐
  5. python算法与数据结构-数据结构中二叉树的介绍
  6. FreeMarkerConfigurer使用TemplateDirectiveModel时获取request、session
  7. LeetCode 2115. 从给定原材料中找到所有可以做出的菜(拓扑排序)
  8. 数据挖掘算法(logistic回归,随机森林,GBDT和xgboost)-腾讯云社区
  9. element el-tree懒加载+搜索
  10. 如何定制日历控件显示的星期文字
  11. 爬虫404如何跳过_金秀贤、全智贤主演的韩剧来自星星的你你如何评价?
  12. YARN组件详细介绍
  13. unity3D 最全资源合集分享
  14. 2021概率论与数理统计辅导讲义-李林
  15. word外部表不是预期的格式_邮件合并为什么会出现外部表不是预期格式
  16. 利用GDAL根据栅格影像DN值实现颜色渲染
  17. ios12卡贴机(有锁)/无锁机 改电信VOLTE //高通基带//教程
  18. 2021年江西省研究生数学建模竞赛题目(一)题目:某肿瘤疾病诊疗的经济学分析
  19. 【docker】ubuntu18.04 安装 python3、vim、rz
  20. 电脑没有声音了怎么恢复?恢复声音的6个方法【图解】

热门文章

  1. java中什么是类?什么是对象?
  2. roc曲线spss怎么做_SPSS学习笔记之——ROC曲线
  3. NetDrive将网络目录映射为本地磁盘
  4. 春夏秋冬java用代码怎么写_春夏秋冬季节判断 (C语言代码)
  5. 暴力拒绝白嫖,著名开源项目作者删库跑路,数千个应用程序无限输出乱码
  6. Dijit、ExtJS、jQuery UI 异同浅析
  7. 面对即将到来的30岁--计划与感悟
  8. Linux高阶命令使用
  9. 行为识别之C3D-network
  10. 视频播放小程序-小程序媒体API-基础入门