从‘a’到‘z’统计一个字符串中所有字母字符各自出现的次数,结果保存在数组alf中。注意:不区分大小写,不能使用字符串库函数。
例如,输入:“A=abc+5*c”,结果为:a=2,b=1,c=2。
参考代码:
#include<stdio.h>
#define N 100
void fun(char *tt,int alf[])
{
int i;
char *p=tt;
for(i=0;i<26;i++)
alf[i]=0;
while(*p)
{
if(*p>='A'&&*p<='Z')
alf[*p-'A']++;
if(*p>='a'&&*p<='z')
alf[*p-'a']++;
p++;
}
}
int main()
{
char str[N];
char a='a';
int alf[26],k;
printf("\nPlease enter a char string:");
scanf("%s",str);
printf("\n**The original string**\n");
puts(str);
fun(str,alf);
printf("\n**The number of letter**\n");
for(k=0;k<26;k++)
{
if(k%5==0)
printf("\n");
printf("%c=%d ",a+k,alf[k]);
}
printf("\n");
}
测试结果: