发布网友
共2个回答
热心网友
热心网友
#include<stdio.h>
#define N 30
char str[N+1];
int char_num[N];
void main(void)
{
int i=0;
gets(str); //使用gets,防止遇到空格符停止
while(str[i] != '#')
{
if(str[i] != ' ') //忽略空格
char_num[str[i]-'A']++; //A ->char_num[0],B ->char_num[1]...
i++;
}
for(i=0;i<N;i++)
{
if(char_num[i]) //只打印有效数据
printf("%c:%d\n",'A'+i,char_num[i]);
}
}
ABCDEABC#
A:2
B:2
C:2
D:1
E:1
代码缺陷:
①只能计算大写字母个数
②最大输入字符串个数26个(随意定义的)