供参考:
#include"stdio.h"
main(void)
{
int n[26],i;
char ch;
for(i=0;i<26;i++)//循环 n[0] -- n[25] 数组初始化值为 0
n[i]=0;
while((ch=getchar())!='\n')//循环读入一个字符赋值给 ch ,直到读入'\n'回车换行符时退出循环
{
if(ch>='A'&&ch<='Z')//对读入的字符进行判断,是否是大写的字母,判断区间 'A' --- 'Z'之间
n[ch-65]+=1;//ch-65等价于 ch-'A',字符'A'的ascii值为65,类推'Z'的值为65+25=90
} //n[ch-65] 如果读入的ch='A',n['A'-65]=n[0],类推'Z'时,n['Z'-65]=n[25]
for(i=0;i<26;i++)
if(n[i]!=0) //当n[i]的值不为0 时输出
printf("%c,%d\n",i+65,n[i]);// i=0时,i+65=65='A',输出字符 A,n[0]的值
// i=3时,i+65=68='D',输出字符 D,n[3]的值
//以此类推,输出n[i]!=0时的字符 和 个数值。
}