找到字符串中出现次数最多的字符,并输出次数(相同字符连续出现)
1.参数的设置:至少要有对目前出现次数的记录curcount和最大次数的记录maxcount。
2.通过循环记录重复出现的次数
3.注意curcount的重置
4.注意对空字符的处理
点击查看代码
#include<stdio.h>
#include<string.h>
int FoundCount(char *str) //如果写成char str,函数调用传递的是一个单独字符,char *str传递的是一个字符串
{
if(*str == '\0') //判断是否为空字符串
{
return 0;
}
int curcount = 1;
int maxcount = 0;
int size = strlen(str); //当输入空字符,会返回0,要防止特殊情况。strlen使用时接受字符串的首地址
for(int i = 1;i < size;i++)
{
if(str[i] == str[i-1]) //这里用str[i] = str[i-1]可以防止出现越界
{
curcount++;
}else
{
curcount = 1; //初始化要为1,最少有一次
}
if(curcount > maxcount)
{
maxcount = curcount;
}
}
return maxcount;
}
int main(int argc,char const *argv[])
{
char str[100];
printf("Please input the str:");
scanf("%s",str);
int result = FoundCount(str);
printf("%d\n",result);
return 0;
}
> >
浙公网安备 33010602011771号