用C语言要求用户输入一段文本,并且统计其中的单词数和字符数hellow_world123是属于一个单词,规定,单词有字母,数字,下划线组成,不包含其他字符
时间: 2024-03-01 16:50:25 浏览: 49
C语言程序设计-输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
5星 · 资源好评率100%
好的,以下是用C语言编写的代码,可以实现您的要求:
```c
#include <stdio.h>
#include <ctype.h> // 包含字符处理函数所需的头文件
int main() {
char c;
int word_count = 0, char_count = 0;
int in_word = 0; // 表示当前是否在单词中
printf("请输入一段文本:\n");
while ((c = getchar()) != EOF) {
if (isalnum(c) || c == '_') { // 若当前字符是字母、数字或下划线
char_count++;
if (!in_word) { // 若当前不在单词中,则进入单词
in_word = 1;
word_count++;
}
} else {
in_word = 0; // 若当前字符不是字母、数字或下划线,则退出单词
}
}
printf("单词数:%d,字符数:%d\n", word_count, char_count);
return 0;
}
```
这段代码中,我们使用了 `getchar()` 函数逐个读取用户输入的字符,并用 `isalnum()` 函数判断当前字符是否是字母或数字,用 `'_'` 判断是否是下划线。若当前字符是字母、数字或下划线,则将字符数加1,若当前不在单词中,则进入单词并将单词数加1。若当前字符不是字母、数字或下划线,则退出单词。最后输出统计结果。
阅读全文