|
发表于 2023-11-14 12:59:10
|
显示全部楼层
- #include <stdio.h>
- #include <stdbool.h>
- int main() {
- char str[100];
- int wordCount = 0;
- bool inWord = false;
- printf("请输入一行字符:");
- fgets(str, sizeof(str), stdin);
- for (int i = 0; str[ i] != '\0'; i++) {
- if (str[ i] == ' ' || str[ i] == '\n' || str[ i] == '\t') {
- inWord = false;
- } else if (!inWord) {
- inWord = true;
- wordCount++;
- }
- }
- printf("单词个数为:%d\n", wordCount);
- return 0;
- }
复制代码
这段C代码实现了输入一行字符,然后统计其中有多少个单词,单词之间用空格分隔开。首先定义了一个字符数组 str 用来存储输入的字符,然后定义了 wordCount 来统计单词个数, inWord 用来标记是否在单词中。接着使用 fgets 函数获取用户输入的一行字符。然后通过遍历输入的字符数组,当遇到空格、换行或制表符时,将 inWord 标记为 false ,表示不在单词中;当遇到非空格字符且 inWord 为 false 时,将 inWord 标记为 true ,并且 wordCount 加一。最后输出单词个数。 |
|