c++实验2 7-4 统计一行文本的单词个数_c++统计单词个数_Skyed.blue的博客-程序员宅基地

技术标签: pta-作业  

7-4 统计一行文本的单词个数 (15 分)
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。

输入格式:

输入给出一行字符。

输出格式:

在一行中输出单词个数。

输入样例:

Let’s go to room 209.
输出样例:

5

思路分析:

单词就是连续不含空格的字符串(因此不需要专门判断其是否为字母),空格数可以为多个(因此不能通过记录空格数作为单词个数)。因此设计思路应该是遇到非空格字符就开始判定为单词,单词数+1,直到遇到下一个空格或者回车结束判定。具体看代码。

代码如下:

#include <iostream>
using namespace std;

int main()
{
    
	char c;
	int flag = 0, num = 0;	//flag为0表示未开始记录单词,flag为1表示正在记录单词 
	while((c = getchar()) != '\n')
	{
    
		if(c == ' ') flag = 0;	//c为空格,表示单词记录完。 
		else
		{
    
			if(flag == 0)	//c不为空格并且flag没开始记录单词 
			{
    
				flag = 1;	//更改flag状态表示正在记录单词 
				num++;		//单词数+1 
			}
		}
	}
	cout<<num<<endl;
	return 0;
} 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Skyed_blue/article/details/88676993

智能推荐

187.重复的DNA序列_重复dna序列中,所有编码序列都是重复的-程序员宅基地

所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来查找目标子串,目标子串的长度为 10,且在 DNA 字符串s中出现次数超过一次。示例:输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"输出:["AAAAACCCCC", "CCCCCAAAAA"]思考1.通用的解法是,设置一个map,用子字符串当key, 次数当..._重复dna序列中,所有编码序列都是重复的

vue中使用官网的animate.css_animate官网 vue_小蔡来了的博客-程序员宅基地

vue中使用官网的animate.css第一步cmd中安装$ npm install animate.css --save第二步main.js中导入import animate from “animate.css”;第三步,在需要的地方使用下方代码一定要加animate__animated类 <transition name="custom-classes-transition" enter-active-class="animate__animated animate__ba_animate官网 vue

Hadoop2.7.3 HA模式搭建_若兰幽竹的博客-程序员宅基地

Hadoop2.7.3 HA模式搭建一、集群的规划二、准备工作三、配置Zookeeper四、安装Hadoop集群五、启动Zookeeper集群六、在bigdata112和bigdata113上启动journalnode七、格式化HDFS(在bigdata112上执行)八、在bigdata112上启动Hadoop集群九、在 bigdata113上的ResourceManager需要单独启动说明:为解决Hadoop单点故障问题,需要采用HA模式进行部署环境:VMWare + Centos7 + JDK

50年前发明的CCD图像传感器工作原理图解-程序员宅基地

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达本文转自|新机器视觉1969年,沃勒德‧保尔(Willard Boyle)与乔治‧艾沃德‧史密斯...

java---异常处理(1)-程序员宅基地

Java –异常处理基本概念:当出现程序无法控制的外部环境问题(用户提供的文件不存在,文件内容损坏,网络不可用。。)时,java就会用异常对象来描述,就是将异常用对象来描述。 两种方法处理异常1, 在发生异常的地方直接处理2, 将异常抛给调用者,让调用者处理这样的代码就会比较健壮,结实。 异常分类1, 检查行异常:java.lang.Exception程...

思科单臂路由与三层交换机配置_三层交换机单臂路由思科_HdLmj的博客-程序员宅基地

注:配置开始前,需要在R1,R2添加网卡用延时线连接,否则上下分开配置后,需要连接时再断电插网卡,再次启动后R1上的配置会失效,所以需要提前插网卡连延时线,或者完成所有配置后再插网卡,但是需要重新配置R1,使用DCE串口线连接R1的S0/0/0端口另一端也连接R2的S0/0/0端口完成后1.配置三层路由器SW1​​​​​​​SW2增加vlan10,vlan20,方式同上开启f0/1的trunk模式将f0/2端口..._三层交换机单臂路由思科

随便推点

React项目_动态显示菜单列表_react 文件列表展示/图标展示-程序员宅基地

在src目录下的config文件下建立一个包含所有导航信息的menuConfig.js。将所有导航信息抽离出来存放。const menuList = [ { title:'首页', //菜单标题名称 key:'/home', //对应的path icon:'TeamOutlined',//图标名称 }, { title:'用户管理', key:'/user', icon:'TeamOu_react 文件列表展示/图标展示

转载收藏:java~~2019-2020-程序员宅基地

java面试宝典2019-2020链接:java面试题网1、meta标签的作用是什么2、ReenTrantLock可重入锁(和synchronized的区别)总结3、Spring中的自动装配有哪些限制?4、什么是可变参数?5、什么是领域模型(domain model)?贫血模型(anaemic domain model)和充血模型(rich domain model)有什么...

java修改properties值_java修改properties文件中的键值对的值-程序员宅基地

修改properties文件中的值,当达到9999时就从1重新开始循环。文件中的键值对如下:#话单文件名 最后4位序列号billFileNameNO:1#话单文件头序列流水号billHeaderStreamNO:1下面是修改值得代码:public void modifyConfigField(String key,String value){String path = BillService.cl..._修改 properties 的key

opencv学习日志9-图像的三通道分离_opencv分离三通道_@白圭的博客-程序员宅基地

前言这篇文章主要讲述如何分离图像三个通道的值并显示在当前界面。一、pandas是什么?//第三题 太阳能板#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;float chance[256];int main(){ cv::Mat src_color = imread("C://Users//john//Desktop//solar_cell_01.png"); //cv::i_opencv分离三通道

史上最全的Web性能测试工具大全(上)_web检测帧数和图层的插件-程序员宅基地

概述:影响网站性能的因素非常多,本文整理了大量的网站性能优化工具,可以帮助你发现影响网站性能的因素,并帮助你解决这些问题。史上最全的Web性能测试工具大全(上)史上最全的Web性能测试工具大全(下 )影响网站性能的因素非常多,本文整理了大量的网站性能优化工具,可以帮助你发现影响网站性能的因素,并帮助你解决这些问题。WebPagetestWebPageTest_web检测帧数和图层的插件

Android使用ccache减少编译时间-程序员宅基地

先看看官方说明: Optimizing a build environment (optional)Setting up ccacheYou can optionally tell the build to use the ccache compilation tool. Ccache acts as a compiler cache that can be used to speed up re