c语言实现在一行中输入一个英文句子(不超过100个字符),输出这个句子中单词的个数,单词之间以空格分隔,除空格外都认为是单词(包括符号)
时间: 2024-03-24 09:40:39 浏览: 191
用c语言实现 计算一个字符串中单词的个数
5星 · 资源好评率100%
可以使用C语言的字符串处理函数和循环实现这个功能。具体代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int len, i, count = 0;
printf("请输入一个英文句子:");
fgets(str, 100, stdin); // 从标准输入流中读取一行字符串
len = strlen(str);
for (i = 0; i < len; i++) {
if (str[i] == ' ') { // 如果当前字符是空格,说明一个单词结束
count++;
}
}
count++; // 最后一个单词后面没有空格,需要再加一次计数
printf("单词个数为%d\n", count);
return 0;
}
```
解释一下代码的实现:
1. 使用`fgets`函数从标准输入流中读取一行字符串,存储在`str`数组中;
2. 使用`strlen`函数获取字符串的长度,用于循环遍历每个字符;
3. 循环遍历每个字符,如果当前字符是空格,则说明一个单词结束,计数器加1;
4. 最后一个单词后面没有空格,需要再加一次计数;
5. 输出单词个数。
注意:代码中使用了`fgets`函数读取输入,而不是`scanf`函数,是因为`scanf`函数在读取字符串时会停止在空格处,无法读取一整行字符串。
阅读全文