用C语言编辑,输入一行字符可能包含英文字母数字字符等其他字符要求统计其中单词的个数
时间: 2023-11-15 08:56:56 浏览: 122
好的,可以使用C语言编写一个程序来实现统计单词数量的功能。以下是一个简单的实现:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[1000];
int word_count = 0, i;
printf("请输入一行字符:\n");
fgets(str, 1000, stdin);
for (i = 0; str[i] != '\0'; i++) {
if (isalnum(str[i])) {
while (isalnum(str[i])) {
i++;
}
word_count++;
}
}
printf("单词个数为:%d\n", word_count);
return 0;
}
```
程序首先提示用户输入一行字符,并通过 `fgets` 函数将输入的字符串读取到 `str` 数组中。然后,程序遍历整个字符串,对于每一个字母数字字符,都认为是一个单词的起始位置。程序通过 `isalnum` 函数判断字符是否为字母或数字,如果是,则继续往后遍历,直到遇到一个非字母数字字符,即单词的结束位置,并将单词计数器 `word_count` 加一。最后,程序输出单词数量的结果。
需要注意的是,这个实现并不完美,例如对于连字符号 `-` 连接的单词,程序会将其视为两个单词。但是,对于大多数情况下的单词计数,这个实现已经足够。
阅读全文