急求!!c语言编写函数实现统计一个字符串中字母出现的次数。
就是输入一个字符串,再输入一个字母,统计其出现次数,大小写分开统计,一定要用到函数!各位大神们帮帮忙!!...
就是输入一个字符串,再输入一个字母,统计其出现次数,大小写分开统计,一定要用到函数!各位大神们帮帮忙!!
展开
2个回答
展开全部
#include<stdio.h>
#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;
}
#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;
}
展开全部
#include
<string.h>
#include
<stdio.h>
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);
}
<string.h>
#include
<stdio.h>
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询