L1-9 统计一行文本的单词个数

时间:2024-11-14 08:36:32

本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。

输入格式:

输入给出一行字符。

输出格式:

在一行中输出单词个数。

输入样例:

Let's go to room 209.

输出样例:

5

 解题过程

我的思路是识别每个空格(分隔符)如果后方是字符便统计,如果不是便继续获取字符

#define _CRT_SECURE_NO_WARNINGS
#include <math.h>
#include <stdio.h>
#include <string.h>


int main() {
    char s[114];
    char c, d;
    int n = 1;
    for (;;) {//清理前方空格
        d = getchar();
        if (d == '\n') {
            c = d;
            n = 0;
            break;
        }
        if (d != ' ') {
            c = d;
            break;
        }
    }
    for (;;) {
        if (c == '\n')
            break;
        for (; c == ' ';) {
            d = getchar();
            if (d == '\n') {//处理结尾多空格的情况
                printf("%d", n);
                return 0;
            }
            if (d != ' ')//忽略字符前空格
                n++;
            c = d;
        }
        c = getchar();
    }
    printf("%d\n", n);
}