题目描述
从键盘输入一行文本(小于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>
int main(){
int i,j,count=0,n;
char c[1000],b[26];
gets(c);
n=strlen(c);
for(i=0;i<26;i++){
b[i]='A'+i;
}
for(i=0;i<26;i++){
count=0;
for(j=0;j<n;j++){
if(c[j]<='z'&&c[j]>='a'){
c[j]-=32;
}
if(c[j]==b[i]){
count++;
}
}
if(count!=0){
printf("'%c':%d\n",b[i],count);
}
}
return 0;
}
知识点
多个数组,字符串的输入,大小写字母换算
⭐注意
先讲二十六个字母存入数组作为判断的标准
利用计数器进行判断