用C语言写出下列编程题用户从键盘输入一段英文(不超过 1000 字符,以换行符 '\n' 结束),请统计其中字母、数字、空白字符、其它标点符号的数量,以及总字符数量。
时间: 2024-12-19 09:14:46 浏览: 7
你可以使用C语言的基本输入输出函数`scanf()`和`getchar()`,以及一些字符串处理函数来解决这个问题。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input[1001] = "";
int letter_count = 0;
int digit_count = 0;
int space_count = 0;
int punctuation_count = 0;
int total_chars = 0;
// 输入字符串
while (fgets(input, sizeof(input), stdin) != NULL) {
input[strcspn(input, "\n")] = '\0'; // 移除换行符
for (int i = 0; input[i]; ++i) { // 遍历字符串
if (isalpha(input[i])) { // 检查是否为字母
letter_count++;
} else if (isdigit(input[i])) { // 检查是否为数字
digit_count++;
} else if (ispunct(input[i])) { // 检查是否为标点符号
punctuation_count++;
} else if (isspace(input[i])) { // 检查是否为空白字符
space_count++;
}
total_chars++; // 总字符数累加
}
}
printf("字母数量: %d\n", letter_count);
printf("数字数量: %d\n", digit_count);
printf("空白字符数量: %d\n", space_count);
printf("标点符号数量: %d\n", punctuation_count);
printf("总字符数量: %d\n", total_chars);
return 0;
}
```
当你运行这个程序并输入文本时,它会显示每个类别字符的数量以及总字符数。
阅读全文