求写一个C语言程序,统计一行带有英文字母的任意字符串中a,b,c,d个数

求写一个C语言程序,要求实现的功能为:从键盘上输入一行带有英文字母的任意字符串,假定该字符串的长度不超过50,统计该串中所包含的每一种字母a、b、c、d的个数(字母大小写等效),并分行依次输出,每行的输出格式为“字母:个数”,如假定字母a的个数为3,则输出格式为“a: 3”。必须在for循环内使用switch语句分别进行字母个数的统计

#include<stdio.h>
void main()
{ int a[4],i,n;
char str[100];
gets(str); str[50]=0;
for ( i=0;str[i]!=0;i++ )
{ switch ( str[i] )
{ case 'a':
case 'A': a[0]++; break;
case 'b':
case 'B': a[1]++; break;
case 'c':
case 'C': a[2]++; break;
case 'd':
case 'D': a[3]++; break;
default : break;
}
}
for ( i=0;i<4;i++ ) printf("%c: %d\n",'a'+i,a[i]);
}追问

编译不了啊!

追答

把报错信息贴上来

温馨提示:答案为网友推荐,仅供参考
相似回答