在已经得到26个小写字母出现次数后。各字母出现一次便记作一个*符号,可以形象直观表示出各小写字母出现次数。问:如何以如下图所示的柱状图形式输出该记录?

在已经得到26个小写字母出现次数后。各字母出现一次便记作一个*符号,可以形象直观表示出各小写字母出现次数。问:如何以如下图所示的柱状图形式输出该记录?

#include <stdio.h>
int main()
{
char s[1000];
gets(s);
int feq[26] = { 0 };
for (int i = 0; s[i]; i++)
{
if (s[i] >= 'A' && s[i] <= 'Z')
feq[s[i] - 'A']++;
else if (s[i] >= 'a' && s[i] <= 'z')
feq[s[i] - 'a']++;
}
int max = feq[0];
for (int i = 1; i < 26; i++)
if (max < feq[i]) max = feq[i];
for (int i = max; i > 0; i--)
{
for (int j = 0; j < 26; j++)
{
if (feq[j] >= i)
printf("*");
else
printf(" ");
}
printf("\n");
}
for (int j = 0; j < 26; j++)
{
printf("%c", 'a' + j);
}
return 0;
}
