您的位置:首页 > 其它

求字符串最长连续字符的长度,比如aaaabbcc的长度为4,aabb的长度为2,ab的长度为1。

2012-10-21 19:04 260 查看
用递归算法写一个函数,求字符串最长连续字符的长度,比如aaaabbcc的长度为4,aabb的长度为2,ab的长度为1。这个是原题目的要求,本人现在水平不高,所采用了非递归的形式。递归的会在有想法后给出。下面贴上代码,共大家参考:

#include<stdio.h>
#include<assert.h>
int get_max_char_count(char *s,char *ret)
{
assert(s!=NULL);
char *temp_char,*final_char,*p;
int temp_count,final_count=0;
p=s;
while(*p!='\0')
{
temp_count=0;
for(temp_char=p,p=p+1,temp_count=1;*p!='\0';p++)
{
if(*p==*temp_char)
temp_count++;
else
break;
}
if(temp_count>final_count)
{
final_char=temp_char;
final_count=temp_count;
}
}
*ret=*final_char;
return final_count;
}
void main()
{
char s[]="aabbbcccc";
int count;
char c;
count=get_max_char_count(s,&c);
printf("%c is appeared %d times\n",c,count);
}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐