c语言

c语言怎么统计文本中单词的个数

小亿
172
2024-02-20 11:11:42
栏目: 编程语言

可以通过以下步骤来统计文本中单词的个数:

  1. 打开文本文件并读取内容。
  2. 遍历文件内容,逐个字符判断是否为字母或数字,如果是则将该字符添加到一个临时字符串中。
  3. 当遇到非字母或数字的字符时,判断临时字符串是否为空,如果不为空则将该字符串单词计数,并清空临时字符串。
  4. 继续遍历文本内容,直至全部遍历完毕。
  5. 最后输出统计的单词个数。

以下是一个简单的示例代码:

#include <stdio.h>
#include <ctype.h>

int main() {
    FILE *file;
    char ch;
    char word[50];
    int count = 0;
    
    file = fopen("text.txt", "r");
    
    if (file == NULL) {
        printf("Unable to open file.\n");
        return 1;
    }
    
    while ((ch = fgetc(file)) != EOF) {
        if (isalnum(ch)) {
            strncat(word, &ch, 1);
        } else {
            if (strlen(word) > 0) {
                count++;
                word[0] = '\0';
            }
        }
    }
    
    if (strlen(word) > 0) {
        count++;
    }
    
    printf("Total words: %d\n", count);
    
    fclose(file);
    
    return 0;
}

在上面的示例代码中,假设要统计的文本内容保存在名为"text.txt"的文本文件中。代码会逐个读取文件中的字符,并判断是否为字母或数字。如果是字母或数字,则将该字符添加到临时字符串"word"中,当遇到非字母或数字字符时,判断临时字符串是否为空,如果不为空则将计数加一,并清空临时字符串。最后输出统计的单词个数。

0
看了该问题的人还看了