使用C语音统计一篇英语短文中单词的个数
时间: 2023-08-20 14:04:03 浏览: 99
统计一篇文章中每个单词的个数
3星 · 编辑精心推荐
好的,我们可以使用C语言实现统计一篇英语短文中单词个数的功能。具体实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 10000
int main() {
char text[MAX_LEN];
char *word;
char *delim = " \n\t.,;?!-\"";
int word_count = 0;
// 读取英语短文
printf("请输入英文短文:\n");
fgets(text, MAX_LEN, stdin);
// 统计单词个数
word = strtok(text, delim);
while (word != NULL) {
word_count++;
word = strtok(NULL, delim);
}
// 输出结果
printf("该短文中单词的个数为:%d\n", word_count);
return 0;
}
```
在上述代码中,我们使用了字符串库函数 `strtok` 来分割英文短文中的单词,具体流程如下:
1. 定义一个字符串 `delim`,用于指定分隔符,包括空格、换行、制表符、逗号、句号、分号、问号、感叹号和破折号等常见标点符号。
2. 使用 `fgets` 函数读取控制台输入的英文短文,并将其存储到字符数组 `text` 中。
3. 使用 `strtok` 函数将 `text` 字符串按照 `delim` 分隔符分割成单词,每次调用 `strtok` 函数返回一个单词,并将指针指向下一个单词。
4. 使用一个计数器 `word_count` 统计单词个数,每次调用 `strtok` 函数成功返回一个单词,就将 `word_count` 加1。
5. 统计完所有单词后,输出结果。
注意:在使用 `strtok` 函数时需要注意线程安全问题,如果需要在多线程环境下使用,可以使用 `strtok_r` 函数代替。
希望这个例子能够帮助你理解如何使用C语言统计英语短文中单词的个数。
阅读全文