请编写一个函数 void fun(char *tt, int pp[]),统计在tt所指字符串中 'a' 到 'z' 26个字母各自出现的次数,并依次放在pp所指数组中。
例如,当输入字符串:abcdefgabcdeabc 后,程序的输出结果应该是:
3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
代码示例:
#include<stdio.h>
void fun(char *tt, int pp[])
{ int j;
for(j=0;j<26;j++)
pp[j]=0;
while(*tt)
{
switch(*tt)
{
case 'a':pp[0]++; break;
case 'b':pp[1]++; break;
case 'c':pp[2]++; break;
case 'd':pp[3]++; break;
case 'e':pp[4]++; break;
case 'f':pp[5]++; break;
case 'g':pp[6]++; break;
case 'h':pp[7]++; break;
case 'i':pp[8]++; break;
case 'j':pp[9]++; break;
case 'k':pp[10]++;break;
case 'l':pp[11]++;break;
case 'm':pp[12]++;break;
case 'n':pp[13]++;break;
case 'o':pp[14]++;break;
case 'p':pp[15]++;break;
case 'q':pp[16]++;break;
case 'r':pp[17]++;break;
case 's':pp[18]++;break;
case 't':pp[19]++;break;
case 'u':pp[20]++;break;
case 'v':pp[21]++;break;
case 'w':pp[22]++;break;
case 'x':pp[23]++;break;
case 'y':pp[24]++;break;
case 'z':pp[25]++;break;
}
tt++;
}
}
main()
{
char a[100];
int b[26],i;
printf("请输入字符串:\n");
scanf("%s",&a);
fun(a,b);
printf("字母各自出现的次数:\n");
for(i=0;i<26;i++)
printf("%d ",b[i]);
printf("\n");
}
运算结果: