使用C++输入一个无规则字符串,将字符串中的字母按照条形统计表的形式输出
时间: 2023-03-21 14:03:30 浏览: 99
您好,我是C知道,可以回答您的问题。
以下是将输入的字符串中的字母按照条形统计表的形式输出的代码示例:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define MAX_CHARACTERS 128
int main() {
int i, j, max_count = 0;
char str[MAX_CHARACTERS];
int char_count[MAX_CHARACTERS] = {0};
printf("请输入一个无规则字符串:");
fgets(str, MAX_CHARACTERS, stdin);
// 统计每个字母出现的次数
for (i = 0; i < strlen(str); i++) {
if (isalpha(str[i])) {
char_count[toupper(str[i])]++;
}
}
// 找到出现次数最多的字母的次数
for (i = 0; i < MAX_CHARACTERS; i++) {
if (char_count[i] > max_count) {
max_count = char_count[i];
}
}
// 输出条形统计表
for (i = max_count; i > 0; i--) {
printf("%2d|", i);
for (j = 0; j < MAX_CHARACTERS; j++) {
if (char_count[j] >= i) {
printf("* ");
} else {
printf(" ");
}
}
printf("\n");
}
printf(" +");
for (i = 0; i < MAX_CHARACTERS; i++) {
printf("--");
}
printf("\n");
printf(" ");
for (i = 0; i < MAX_CHARACTERS; i++) {
printf("%c ", i);
}
printf("\n");
return 0;
}
```
使用该程序,您可以输入一个无规则字符串,程序会自动统计每个字母出现的次数,并输出按照条形统计表的形式显示出来。
阅读全文