1159 字母出现频率
题目描述
从键盘输入一行文本(小于1000字符),统计其中每个英文字母出现的频率,并输出出现过的英文字母及其次数,未出现过的不需要显示。为了简化问题的复杂度,假设在统计过程中不区分字母的大小写,即'A'与'a'被认为是一种字母。
输入描述
/*
先从键盘输入一行文本。以换行符结束。
*/
Studing C Language
输出描述
/*
输出统计结果。
*/
'A':2
'C':1
'D':1
'E':1
'G':3
'I':1
'L':1
'N':2
'S':1
'T':1
'U':2
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void countnumber(char s[]){
int len = strlen(s);
int i =0;
int counts[26];
for(i=0;i<26;i++){
counts[i] = 0;
}
for(i=0;i<len;i++){
if(s[i]>='A' && s[i]<='Z'){
counts[s[i]-'A']++;
}
else if(s[i]>='a' && s[i]<='z'){
counts[s[i]-'a']++;
}
}
for(i=0;i<26;i++){
if(counts[i]!=0)
printf("'%c':%d
",i+'A',counts[i]);
}
}
int main()
{
char str[1001]={0};
gets(str); //可以读取带空格的字符串,回车结束输入
countnumber(str);
return 0;
}