急求!!c语言编写函数实现统计一个字符串中字母出现的次数。

2024-11-28 03:41:06
推荐回答(2个)
回答(1):

#include
#define N 100
void count(char str[],int times[]) //统计小写字符出现次数
{
int i;
for(i=0;str[i]!='\0';i++)
{
if(str[i]>='a' && str[i]<'a'+26) //只统计小写字符
times[str[i]-97]++; //字符a的ascii码为97,str[i]-97正好将26个字母对应在times数组的26个位置上。
}
}
int main()
{
char str[N];
int i,times[26]; //time数组中每一个元素代表一个小写字符,其值代表字符的出现次数
for(i=0;i<26;i++) //初始化,所有字符次数置0
times[i]=0;
scanf("%s",str); //读入字符串
count(str,times); //调用函数统计次数,让times装载统计结果
for(i=0;i<26;i++) //输出结果,小写字符a的ascii码为97.
{
printf("%c\t%d\n",i+97,times[i]);
}
return 0;
}

回答(2):

#include

#include

void
main()
{
char
getChar[100];
char
x;
int
total
=
0;//用来记录字母出现的次数
printf("请输入字符串:");
scanf("%s",
getChar);//这里接收字符串。接收字符串不要加地址符
&
,因为数组名就是地址(这个知道就行)
printf("请输入需要统计的字母:");
scanf("%s",
&x);
for
(int
i
=
0;
i
<
sizeof(getChar);
i++)//sizeof检测字符串的长度
{
if
(getChar[i]
==
x)
{
total++;//如果满足这个条件,就加一
}
}
printf("%c出现的次数为:%d",
x,
total);
}