对于每个英文字母分别判断个数,并累计,最终输出即可。
一、算法:
1、循环读取字符,直到换行为止。对于每个字符,执行以下流程。
2、判断是否为英文字母,即小写和大写两种。
3、如果是英文字母,则统计个数。
输入部分,可以存为数组,也可以每输入一个字符计算一次。
二、参考代码:
#include <
stdio.h>
int main()
{
int c;
int cnt[52]={0};
while((c=getchar())!='\n')//读取每个字符,直到遇到换行为止。
{
if(c>='A'&&c<='Z')//大写
cnt[c-'A'] ++;//统计。
else if(c>='a'&&c<='z')//小写
cnt[c-'a'+26] ++;//统计。
}
for(c=0;c<26;c++)//输出大写字母统计结果。
if(cnt[c]!=0) printf("%c:%d\n", c+'A', cnt[c]);
for(c=26;c<52;c++)//输出大写字母统计结果。
if(cnt[c]!=0) printf("%c:%d\n", c-26+'a', cnt[c]);
return 0;
}