#include <stdio.h>
#include <ctype.h> // 包含isspace函数（判断空白字符）

// 读取文本到缓冲区
void readText(char text[], int maxSize) {
    printf("请输入一段文本（以回车结束）：");
    fgets(text, maxSize, stdin); // 读取一行文本（包含空格）
}

// 判断当前字符是否为单词分隔符（空白字符）
int isSeparator(char c) {
    return isspace(c) || c == '\0' || c == '\n'; // 空格、结束符、换行符均为分隔符
}

// 统计文本中单词数量
int countWords(char text[]) {
    int count = 0;
    int inWord = 0; // 标记是否在单词中（0：不在，1：在）
    
    for (int i = 0; text[i] != '\0'; i++) {
        if (!isSeparator(text[i]) && !inWord) {
            // 遇到单词的第一个字符
            count++;
            inWord = 1;
        } else if (isSeparator(text[i]) && inWord) {
            // 离开单词
            inWord = 0;
        }
    }
    return count;
}

int main() {
    char text[1000];
    readText(text, 1000);
    
    int wordCount = countWords(text);
    printf("文本中的单词数量：%d\n", wordCount);
    
    return 0;
}
