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

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

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;
}
相关推荐
m0_531237173 分钟前
C语言-操作符练习
c语言·开发语言
载数而行52022 分钟前
算法系列2之最短路径
c语言·数据结构·c++·算法·贪心算法
代码改善世界1 小时前
栈和队列的实现与详解(C语言版):从底层原理到代码实战
c语言·开发语言
智者知已应修善业1 小时前
【冰雹猜想过程逆序输出】2025-4-19
c语言·c++·经验分享·笔记·算法
宇木灵3 小时前
C语言基础-十一、递归与分治(完结)
c语言·开发语言·学习·算法
weixin_395448914 小时前
main.c_0222cursor
c语言·前端·算法
水饺编程5 小时前
第4章,[标签 Win32] :TextOut 测试案例2
c语言·c++·windows·visual studio
载数而行5207 小时前
复杂度问题
c语言·数据结构·c++·算法·排序算法
白太岁7 小时前
操作系统开发:(11) RTOS 与 GPOS 的分界线:MMU
c语言·开发语言·汇编·arm开发·系统架构
m0_531237177 小时前
C语言-指针进阶
c语言·开发语言