打印字母统计横直放图

来源:百度知道 编辑:UC知道 时间:2024/06/24 04:40:06
题目描述

用横直方图的形式统计字母出现的个数。输入若干个字符,包括大小写字母以及其余字符,统计每个字母出现的个数(大小写均要统计),其余所有字符均不统计。最后将这些字母出现的次数从a-z用横直方图的方式打印出来。

输入

若干字符,以文件结束标志符标示输入结束。

输出

按照字母表顺序输出26行,每个字母占一行。首先输出字母,接着打印一串‘*’号,‘*’号的个数就是该字母出现的次数。注意没有出现过的字符也需要输出,但是对应不输出任何星号。

样例输入

abcdefghABCDE
23EFFGHabCD1

样例输出

a***
b***
c***
d***
e***
f***
g**
h**
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z

以文件结束标志符标示输入结束是-1 ,你是要从文件读入么?
给出键盘输入的代码。
#include <stdio.h>
#include <ctype.h>
main(){
char ch[26],i,j;
char str[254],*p;
gets(str);
p=str;
while(*p){
if(islower(*p))
ch[*p-97]++;
if(isupper(*p))
ch[*p-65]++;
p++;
}

for(i=0;i<26;i++){
printf("\n%c",i+97);
for(j=0;j<ch[i];j++)
printf("%c",'*');
}
getchar();
}