输入一行字符,统计其中的单词个数(标志变量法和数组跳过法)

news/2025/3/28 7:54:23/

输入一行字符,统计其中单词的个数,单词之间使用空格分开。

#include<stdio.h>
int main()
{//输入一行字符,统计其中有多少个单词,单词之间用空格符分隔开char c;int word=0,lastchar=1;printf("请输入一行字符:");while((c=getchar())!='\n'){if(c==' '){lastchar=1;	}else{if(lastchar){word++;lastchar=0;}}}printf("该字符中共有%d个单词!\n",word);return 0;
}

        使用getchar进行输入,需要设置标志变量lastchar,表示上一次判断的字符类型是空格还是字符,0表示1表示空格,0表示字符,所以初始就要将lastchar设置为1,因为空格的数量会比单词的个数少一个。只有遇到了空格,且其后面出现非空格我们才统计单词的个数+1。

#include<stdio.h>
int main()
{//使用字符数组来输入字符串char str[81];int i=0,word=0;printf("请输入一行字符:");gets(str);while(str[i]!='\0'){if(str[i]==' '){for(i++;str[i]==' ';i++);}	else{word++;for(i++;str[i]!=' '&&str[i]!='\0';i++); }} printf("该行字符共有%d个单词!\n",word);return 0;
}

        此外另一种方法则是使用数组来处理字符串,通过循环跳过连续的若干个空格来控制字符串的处理,for(i++;str[i]!=' '&&str[i]!='\0';i++);中的判断条件是在初始值i++的基础上进行判断其后一个是不是'\0',是'\0'的话就会结束for循环,这时的'\0'再次由while循环进行判断,结束while循环,最后才进行输出。


http://www.ppmy.cn/news/985396.html

相关文章

哈工大计算机网络课程局域网详解之:交换机概念

哈工大计算机网络课程局域网详解之&#xff1a;交换机概念 文章目录 哈工大计算机网络课程局域网详解之&#xff1a;交换机概念以太网交换机&#xff08;switch&#xff09;交换机&#xff1a;多端口间同时传输交换机转发表&#xff1a;交换表交换机&#xff1a;自学习交换机互…

openssl3.1.1关于国标支持的验证笔记

openssl3.1.1关于国标支持的验证笔记 openssl的版本差异日志 openssl虽然有3个大分支&#xff0c;我们就以3.1大分支查看关于国密的差异日志。 Changes between 1.1.0i and 1.1.1 [11 Sep 2018] Changes between 1.1.1b and 1.1.1c [28 May 2019] Changes between 1.1.1k and…

github上下载的vscode extension报找不到“vscode“模块的问题

问题来自于下载的 vscode 扩展源代码包 import * as vscode from "vscode"; 有问题的是这句&#xff0c;找不到 vscode 模块&#xff0c;错误代码 2307 主要是因为下载的源码工程里&#xff0c;没有 node_modules 这个文件夹&#xff0c;因为它本来就是需要被忽略…

Python补充笔记4-面向对象

目录 一、编程思想​ 二、类与对象​ 三、类的创建​ 四、对象的创建​ 五、类属性、类方法、静态方法​ 六、动态绑定属性和方法​ 七、知识点总结 八、面向对象的三大特征 1.封装 2.继承​ 3.多态 九、方法重写 十、object类 十一、特殊方法和特殊属性 1.dict/len/add​ 2.…

vue3-Cannot use ‘in‘ operator to search for ‘path‘ in undefined

在创建vue3的路由时&#xff0c;报了这样的错&#xff1a;Cannot use ‘in’ operator to search for ‘path’ in undefined&#xff0c;经过多次排查发现是我在路由文件里面用错了createWebHashHistory()方法&#xff0c;将它用成了 变量。 一、报错情况 二、报错原因及解…

自己实现 OpenAI 的 /v1/audio/transcriptions 接口

自己实现 OpenAI 的 /v1/audio/transcriptions 接口 0. 背景1. 参考资料1-1. Speech to text 的文档说明1-2. Create transcription 的 API 说明1-3. whisper 的示例代码 2. 代码实现 0. 背景 使用 OpenAI 的 API Key 是需要付费的&#xff0c;为了节省成本&#xff0c;自己尝…

python基本知识学习

一、输出语句 在控制台输出Hello,World! print("Hello,World!") 二、注释 单行注释&#xff1a;以#开头 # print("你好") 多行注释&#xff1a; 选中要注释的代码Ctrl/三单引号三双引号 # print("你好") # a1 # a2 print("Hello,World!&…

Spring中最简单的过滤器和监听器

1. 过滤器概念引入 Filter也称之为过滤器&#xff0c;它是Servlet技术中最实用的技术&#xff0c;Web开发人员通过Filter技术&#xff0c;对web服务器管理的所有web资源&#xff1a;例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截&#xff0c;从而实现一些特殊的功…