习题6-8 统计一行文本的单词个数

该博客介绍了一道编程题,要求编写程序统计一行字符中的单词个数,单词由非空格字符连续组成,空格分隔。题目强调在未学习数组的情况下解决,通过字符变量和循环来实现。博主分析了题意,提出了解决方案,包括如何处理连续空格和特殊输入情况,并给出了使用goto语句的代码实现。
摘要由CSDN通过智能技术生成

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

输入格式:
输入给出一行字符。

输出格式:
在一行中输出单词个数。

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

输出样例:
5

按照学习顺序,遇到此题时未学习数组等知识,因此这里不使用它们。
题目分析及思路:
1.题设定义的单词是指除了空格与回车外的所有字符串。故不需要将输入的字符限制在字母和数字范围内。
2.在不考虑数组的情况下,只能定义字符变量,用一个循环来进行输入,后输入的字符会覆盖前一个,因此计数要同步进行,以空格和回车为计数标准,这也是本题不使用数组的难点。
3.题目允许连续空格的情况,为避免连续的空格导致重复计数,选择在出现空格后进入循环,连续输入空格直到输入回车或应计数的字符。
4.考虑到以下特殊情况:a.若在连续空格后遇到回车,要跳出连续空格循环和字符输入循环输出结果。b.若首先输入回车,需要直接输出0。选择使用goto语句比较方便,还可以避免使用标志变量。

代码实现如下:

#include <stdio.h>
int main()
{
   
	int cnt=0;
	char a;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值