c语言统计字符串中各个字母出现的次数

编写函数,统计给定字符串中各个字母出现的次数,不区分大小写。在main函数中输入一个字符串,调用该函数进行计算,然后输出统计结果。

输入要求:任意一个字符串。

程序的必要代码为:

main()

{ char str[255];

 int count[26]={0};

 int i;

 gets(str);

 counta_z(str,count);

 for(i=0;i<26;i++)

 if(count[i])

      printf("%c出现的次数为:%d\n",i+'a',count[i]);

}

void counta_z(char *str,char *count)
{
    int i=0;
    while(str[i] != 0)
    {
        if(str[i]>='a' && str[i]<='z')
          count[str[i]-'a']++;
        else if(str[i]>=A' && str[i]<='Z')
          count[str[i]-'A']++;
        i++;
    }
}
int main()

{ char str[255];

 int count[26]={0};

 int i;

 gets(str);

counta_z(str,count);

 for(i=0;i<26;i++)

 if(count[i])

      printf("%c出现的次数为:%d\n",i+'a',count[i]);
}

一个循环解决


for (int i = 0; i < strlen(str); i++)
{
    str[i]=tolower(str[i]);
    count[str[i] - 'a']++;
}