c语言实现 统计一个字符串中单词的个数 描述:输入一个由多个单词构成的字符串,统计该字符串中单词的个数 测试输入: i love the world 预期输出:4 在主函数中直接实现,不用调用其他函数 头文件只用stdio 头歌网题库答案
时间: 2025-01-01 20:38:49 浏览: 32
在C语言中,我们可以使用标准库函数`getchar()`和`isspace()`来统计一个字符串中单词的个数。`isspace()`函数用于判断字符是否为空格、制表符、换行符等空白字符。下面是一个简单的实现示例:
```c
#include <stdio.h>
#include <ctype.h>
int count_words(char* str) {
int word_count = 0;
while (*str != '\0') { // 遍历直到遇到字符串结束
if (isspace(*str)) { // 如果当前字符是空格
if (str[word_count - 1] != ' ') { // 检查前面是否也有空格,如果是,则跳过
++word_count; // 否则,增加单词计数
}
} else { // 如果当前不是空格,开始一个新的单词计数
if (str[word_count - 1] == ' ') {
++word_count;
}
}
++str; // 移动到下一个字符
}
return word_count; // 返回单词总数
}
int main() {
char input[] = "i love the world";
printf("预期输出:%d\n", count_words(input));
return 0;
}
```
这个程序会在遇到一个空格时检查前一个字符,如果不是空格并且最后一个字符也不是空格,那么就加一。最后返回计数结果作为单词总数。
阅读全文