C语言】分类统计字符个数(多行输入字符串)
时间: 2024-10-19 10:12:54 浏览: 120
在C语言中,你可以使用数组、计数器和循环结构来实现一个多行输入字符串的字符分类统计。这里是一个基本的示例,用于统计字母、数字和特殊字符的数量:
```c
#include <stdio.h>
#include <ctype.h> // 包含ctype.h库,用于处理字符类别
int main() {
char input[100][50]; // 多行输入,每行最多49个字符加换行符
int line_count = 0;
printf("请输入多行字符串(按Ctrl+D结束输入):\n");
fgets(input[line_count], sizeof(input[line_count]), stdin);
while (fgets(input[line_count], sizeof(input[line_count]), stdin)) { // 循环读取直到文件结尾
line_count++; // 每次读入一行,计数器增加
for (int i = 0; i < strlen(input[line_count] - 1); i++) { // 避免统计换行符
if (isalpha(input[line_count][i])) { // 如果是字母
// 字符分类统计,例如:
// counter_letters++;
printf("字母: ");
} else if (isdigit(input[line_count][i])) { // 如果是数字
// counter_digits++;
printf("数字: ");
} else { // 其他非字母和数字字符
// counter_special++;
printf("特殊字符: ");
}
}
printf("\n");
}
printf("总结结果:\n");
printf("字母总数: ??\n");
printf("数字总数: ??\n");
printf("特殊字符总数: ??\n");
return 0;
}
```
在这个示例中,你需要手动填写`counter_letters`、`counter_digits` 和 `counter_special` 的实际计算,并在适当的位置输出统计结果。注意,这个程序假设用户会正确地终止输入(通常通过按下Ctrl+D)。如果你需要完整地实现这些计数器,可以在每次遇到特定类型的字符时累加对应的计数。
阅读全文