#include <stdio.h>

int countWords(char* str) {
    int count = 0;
    int i = 0;

    // 跳过字符串开头的空格
    while (str[i] == ' ') {
        i++;
    }

    // 统计单词个数
    while (str[i] != '\0') {
        if (str[i] == ' ' && str[i+1] != ' ') {
            count++;
        }
        i++;
    }

    return count + 1; // 加1是因为最后一个单词后没有空格
}

int main() {
    char str[100];
    printf("Enter a string:");
    gets(str);

    int words = countWords(str);
    printf("%d\n", words);

    return 0;
}

代码功能:

本代码实现统计输入字符串中的单词数量,单词之间用空格分隔。

代码说明:

  1. countWords(char* str) 函数用于统计单词数量,接收一个字符串作为参数,返回单词数量。
  2. 函数首先跳过字符串开头的空格,然后遍历字符串,遇到空格且下一个字符不是空格,则计数器加一。
  3. 最后返回计数器加一的结果,因为最后一个单词后没有空格。
  4. main() 函数用于获取用户输入的字符串,调用 countWords() 函数统计单词数量,并将结果输出。

代码示例:

输入: Shang Hai University

输出: 3

注意:

  • 输入字符串中的空格需要设置多个。
  • 输出结果无换行符。

原文地址: https://www.cveoy.top/t/topic/pik2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录