从键盘输入三行文字(每行不超过80 个字符),统计出其中天写字母、小乌字母、数字字符、空格、其它字符的个数。 【输入形式】三行除汉字以外的文字C语言
时间: 2024-12-06 11:21:48 浏览: 11
在C语言中,你可以通过遍历输入的字符串数组并检查每个字符的ASCII码来实现这个功能。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input[3][90]; // 为了容纳最多80字符加两行结束符
int num_chars[5] = {0}; // 初始化一个包含5个元素的整型数组存储各类字符计数
// 输入三行数据
for (int i = 0; i < 3; ++i) {
fgets(input[i], sizeof(input[i]), stdin); // 读取一行
input[i][strlen(input[i]) - 1] = '\0'; // 去掉换行符
}
// 遍历并统计字符类型
for (int j = 0; j < 3 * strlen(input[0]); ++j) {
if (isalpha(input[j])) {
if (isupper(input[j])) num_chars[0]++;
else num_chars[1]++;
}
else if (isdigit(input[j])) num_chars[2]++;
else if (isspace(input[j])) num_chars[3]++;
else num_chars[4]++;
}
printf("大写字母: %d\n", num_chars[0]);
printf("小写字母: %d\n", num_chars[1]);
printf("数字字符: %d\n", num_chars[2]);
printf("空格: %d\n", num_chars[3]);
printf("其他字符: %d\n", num_chars[4]);
return 0;
}
```
在这个程序中,`isalpha()`、`isupper()`、`isdigit()` 和 `isspace()` 分别用于判断字符是否为字母、大写字母、数字或空格。其它字符会被归类到 "其他" 类别。
阅读全文