c语言怎么统计字符串中单词个数

   2025-02-15 5820
核心提示:要统计字符串中单词的个数,可以利用以下思路:定义一个计数器变量count,初始值为0,用于记录单词的个数。遍历字符串中的每个字

要统计字符串中单词的个数,可以利用以下思路:

定义一个计数器变量count,初始值为0,用于记录单词的个数。遍历字符串中的每个字符,从第一个字符开始,判断当前字符是否为空格或者标点符号。如果当前字符不为空格或者标点符号,则进入循环,继续判断下一个字符。如果当前字符为空格或者标点符号,则判断前一个字符是否是字母或数字。如果前一个字符是字母或数字,则说明找到了一个单词,将计数器count加1。遍历完整个字符串后,计数器count的值即为单词的个数。

以下是一个示例代码:

#include <stdio.h>int countWords(char *str) {    int count = 0;    int isWord = 0; // 标记是否在单词中    // 遍历字符串中的每个字符    for (int i = 0; str[i] != '\0'; i++) {        // 判断当前字符是否为空格或者标点符号        if (str[i] == ' ' || str[i] == ',' || str[i] == '.' || str[i] == '?' || str[i] == '!') {            isWord = 0; // 不在单词中        }        else {            // 判断前一个字符是否是字母或数字            if (i == 0 || str[i-1] == ' ' || str[i-1] == ',' || str[i-1] == '.' || str[i-1] == '?' || str[i-1] == '!') {                isWord = 1; // 在单词中                count++; // 单词计数器加1            }        }    }    return count;}int main() {    char str[] = "Hello, World! This is a string.";    int wordCount = countWords(str);    printf("The number of words in the string is: %d\n", wordCount);    return 0;}

运行以上代码,将输出字符串中的单词个数为7。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言