每日一题——第一百一十一题

题目:统计在字符串中出现的单词的个数

c 复制代码
#include<stdio.h>
#include<stdbool.h>
#include<string.h>

int FindWordInStr(char* arr) {
	bool inWord = false, lastInWord = false;
	int count = 0, len = strlen(arr);
	for (int i = 0; i < len; i++) {

		if (arr[i] != ' ') {
			inWord = true;
			lastInWord = true;
			
		}
		else { //当前字符为空字符
			//首先判断之前是否在一个单词中,如果在,让单词数+1
			if (lastInWord) {
				count++;
				lastInWord = false;//将状态复位
			}
			else {//之前不在一个单词中
				inWord = false;//不在单词状态置为true
			}
			
		}
		
	}

	// 检查字符串末尾是否在一个单词中(检查最后一个字符是否为非空字符)  
	if (lastInWord && arr[len - 1] != ' ') {
		count++;
	}

	return count;
}
相关推荐
bluesky9612221 小时前
malloc 和 realloc C/C++
c语言·c++·算法
嵌入式小宁2 小时前
C11 原子操作 `atomic_int` 通俗指南
linux·c语言·嵌入式硬件
LuminousCPP3 小时前
数据结构-二叉树(三):堆复杂度证明与 Top-K 问题|错位相减推导 + 海量数据内存优化
c语言·数据结构·笔记·排序算法
qq_5896660520 小时前
C语言、C++与C#的区别详解
c语言·c++·c#
昌原的儿子LEO1 天前
Linux进程知识点总结
linux·服务器·c语言·数据库
多弗朗皮卡丘1 天前
C语言梦开始的地方16:结构体
c语言·开发语言·windows
2401_862880821 天前
Linux应用层开发 --- 多任务
linux·服务器·c语言
心仪久了会沦陷1 天前
数据结构入门系列——顺序表详解:概念、分类与动态实现
c语言·数据结构·经验分享·笔记·开源
witton1 天前
xmake中将proto文件生成C/C++文件然后再编译链接进项目
c语言·c++·mingw·protobuf·xmake·protobuf-c·protoc-gen-c