编写程序从标准输入中读入一段英文,统计其中小写字母出现次数,并按照从大到小的顺序以柱状图的形式显示其出现次数,出现次数为0的不输出。用C++语言编写代码
时间: 2023-05-14 20:05:41 浏览: 184
一个C++语言编写的程序
非常好的问题!以下是C语言的代码,可以实现您的需求:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_CHAR 26
int main() {
int count[MAX_CHAR] = {0};
char c;
// 从标准输入中读入一段英文
while ((c = getchar()) != EOF) {
if (islower(c)) {
count[c - 'a']++;
}
}
// 统计小写字母出现次数,并按照从大到小的顺序以柱状图的形式显示其出现次数
int max_count = 0;
for (int i = 0; i < MAX_CHAR; i++) {
if (count[i] > max_count) {
max_count = count[i];
}
}
for (int i = max_count; i > 0; i--) {
printf("%2d |", i);
for (int j = 0; j < MAX_CHAR; j++) {
if (count[j] >= i) {
printf(" * ");
} else {
printf(" ");
}
}
printf("\n");
}
printf(" +");
for (int i = 0; i < MAX_CHAR; i++) {
printf("---");
}
printf("\n ");
for (int i = 0; i < MAX_CHAR; i++) {
printf(" %c ", 'a' + i);
}
printf("\n");
return 0;
}
```
这个程序会从标准输入中读入一段英文,统计其中小写字母出现次数,并按照从大到小的顺序以柱状图的形式显示其出现次数。出现次数为0的不会被输出。如果您有任何问题,请随时问我!
阅读全文