【字符串】统计字母个数

统计一篇不超过500字的英语日记中26个字母出现的次数,不分大小写。最后输入’@’表示输入结束。

输入
不超过500个字符的英文,含大小写英字母、空格、引号、标点符号等。

输出
最多26行,每行第一项为小写字母,第二项为对应字母的个数,字母与个数之间用空格隔开,字母个数为0的不输出


#include <stdio.h>

int main()
{
    int fre[26] = {0},i = 0;
    char a[500],c;
    while((c = getchar()) != '@'){
        a[i] = c;
        if(a[i] >= 'a' && a[i] <= 'z'){
            fre[a[i] - 'a'] ++;
        }else if(a[i] >= 'A' && a[i] <= 'Z'){
            fre[a[i] - 'A'] ++;
        }
        i ++;
    }
    for(i = 0;i < 26;i++){
        if(fre[i] > 0){
            printf("%c %d\n",'a' + i,fre[i]);
        }
    }
    return 0;
}