从键盘输入一行只有小写英文字母的字符串,用回车结束输入。统计26个英文字母出现的次数并依次输出。字符串长度不超过100个字符。
输入格式:
一行只有小写英文字母的字符串,用回车结束输入。
输出格式:
输出26行,按字典顺序输出26个小写英文字母和它们出现的次数。每个字母和它出现的次数占一行。字母和它出现的次数以一个空格隔开。
输入样例:
在这里给出一组输入。例如:
aaaaabbbcccdddeeffgghhhhijkllmnnopqrstuvwxyyyyzz
输出样例:
在这里给出相应的输出。例如:
a 5
b 3
c 3
d 3
e 2
f 2
g 2
h 4
i 1
j 1
k 1
l 2
m 1
n 2
o 1
p 1
q 1
r 1
s 1
t 1
u 1
v 1
w 1
x 1
y 4
z 2
#include <stdio.h>
#include <string.h>
typedef struct Hash{
char ch;
int value;
}H;
char s[101];
int main()
{
H h[29];
fgets(s,sizeof(s),stdin);
// scanf("%[^\n]",s);
// 初始化hash表
for(int i=0;i<26;i++){
h[i].ch='a'+i;
h[i].value=0;
}
for(int i=0;s[i]!='\0';i++)
h[s[i]-'a'].value++;
for(int i=0;i<26;i++)
printf("%c %d\n",h[i].ch,h[i].value);
return 0;
}