C语言题目 不知道为什么不对?
题目描述贝贝最近玩起了字符游戏,规则是这样的:读入四行字符串,其中的字母都是大写的,乐乐想打印一个柱状图显示每个大写字母的频率。你能帮助他吗?
输入
输入共有4行:每行为一串字符,不超过72个字符。
输出
与样例的格式保持严格一致。
样例输入
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.
THIS IS AN EXAMPLE TO TEST FOR YOUR
HISTOGRAM PROGRAM.
HELLO!
样例输出
提示
1.输出的相邻字符间有一个空格。
2.最后一行的26个大写字母每次必须输出。
3.大写字母A所在的第一列前没有空格。
我的编程如下
#include <stdio.h>
#include <stdlib.h>
int main()
{ char s[4][80];
int i,j;
for(i=0;i<4;i++)
{
gets(s[i]);
}
char c[26][300]={'\0'};
int d[26]={0};
for(i=0;i<26;i++)
{
c[i][0]='A'+i;
}
for(i=0;i<4;i++)
for(j=0;s[i][j]!='\0';j++)
{
if(s[i][j]>='A'&&s[i][j]<='Z')
{
c[s[i][j]-65][++d[s[i][j]-65]]='*';
}
}
int max=d[0];
for(i=1;i<26;i++)
{
if(d[i]>max)
max=d[i];
}
for(i=max;i>0;i--)
{for(j=0;j<26;j++)
printf("%c ",c[j][i]);
printf("\n");
}
for(i=0;i<26;i++)
printf("%c ",c[i][0]);
return 0;
}
[此贴子已经被作者于2019-12-21 22:38编辑过]