用C语言编写一个程序,读取输入,直至读到EOF,统计读入的单词数(单词之间用空格分隔)、大写字母数、小写字母数、标点符号数和数字字符数。使用ctype.h头文件中的函数。
时间: 2024-02-21 17:01:12 浏览: 90
好的,我来给你写一个C语言程序,实现你的需求。以下是代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int word_count = 0;
int upper_count = 0;
int lower_count = 0;
int punct_count = 0;
int digit_count = 0;
int ch;
int in_word = 0;
while ((ch = getchar()) != EOF) {
if (isalpha(ch)) {
if (!in_word) {
in_word = 1;
word_count++;
}
if (isupper(ch))
upper_count++;
else if (islower(ch))
lower_count++;
}
else if (ispunct(ch))
punct_count++;
else if (isdigit(ch))
digit_count++;
else
in_word = 0;
}
printf("单词数:%d\n", word_count);
printf("大写字母数:%d\n", upper_count);
printf("小写字母数:%d\n", lower_count);
printf("标点符号数:%d\n", punct_count);
printf("数字字符数:%d\n", digit_count);
return 0;
}
```
程序使用了ctype.h头文件中的函数来判断字符的类型,然后根据不同类型进行相应的处理并统计计数。注意,在统计单词数时,需要使用一个变量in_word来记录当前是否处于单词中,以便正确计算单词数。
希望这个程序能够帮到你,有问题可以继续问我哦!
阅读全文