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

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

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;
}
相关推荐
cmpxr_7 分钟前
【C】数组名、函数名的特殊
c语言·算法
itman3012 小时前
C语言怎么学?从写程序到玩指针的实操攻略
c语言·指针·结构体·编程学习·资源推荐
kang_jin3 小时前
C语言结构体入门:stu定义与成员使用
c语言·教程·编程语言·入门·结构体
独小乐4 小时前
012.整体框架适配SDRAM|千篇笔记实现嵌入式全栈/裸机篇
c语言·汇编·笔记·单片机·嵌入式硬件·arm·gnu
li1670902706 小时前
第十章:list
c语言·开发语言·数据结构·c++·算法·list·visual studio
笨笨饿7 小时前
# 52_浅谈为什么工程基本进入复数域?
linux·服务器·c语言·数据结构·人工智能·算法·学习方法
Shadow(⊙o⊙)7 小时前
static与extern使用
c语言·学习
范纹杉想快点毕业8 小时前
Zynq开发视角下的C语言能力分级详解
c语言·开发语言
橘子编程8 小时前
GoF 23 种设计模式完整知识总结与使用教程
java·c语言·开发语言·python·设计模式
意疏8 小时前
【C语言】解决VScode中文乱码问题
c语言·开发语言·vscode