编写函数,统计给定字符串中各个字母出现的次数,不区分大小写。在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']++;
}