处理字符串。基础问题。求解答!

从控制台读取多个字符,遇到“#”时停止输入,然后统计每个英文字母出现的次数并输出,统计时不区分英文字母大小写。

#include <stdio.h>
char a[200];
int b[26];
int main() {
    int n=0,i;
    while((a[n++]=getchar())!='#');
    for(i=0;i<n;i++){
        if(a[i]>='a'&&a[i]<='z'){
            a[i]-=32;
        }
        if(a[i]>='A'&&a[i]<='Z'){
            b[a[i]-'A']++;
        }
    }
    for(i=0;i<26;i++){
        if(b[i]!=0){
            printf("%c:%d\n",'A'+i,b[i]);
        }
    }
    
    return 0;
}