c语言5字符串找相同字符,C语言 查找一个字符串中出现最的重复字符串

本文介绍了一种使用C语言实现的算法,该算法用于找出一个字符串中最常重复的字符及以此字符为中心的最长重复字符串。首先,通过遍历字符串来确定出现频率最高的字符;接着,再次遍历字符串以定位并输出包含最高频字符的最长重复序列。
摘要由CSDN通过智能技术生成

C语言 查找一个字符串中出现最的重复字符串

算法思想:因为是出现的重复最多的字符串,有可能是一个字符重复最多,因此先在这个字符串中查找出现最多的字符,之后在以这个字符为标记点,开始查找最长的。

#include

#include

char cha_duo(char *a)/*查找重复最多的字符*/

{

int i,j,count,max=0;

char c;

for(i=0;a[i]!='\0';++i)

{

count=0;

for(j=0;a[j]!='\0';++j)

{

if(a[i]==a[j])

count++;

}

if(count>max)

{

max=count;

c=a[i];

}

}

return c;

}

chang_cuan(char *a,char c)/*已重复最多的字符为标记点,看看这个最多重复的字符串有多长*/

{

int min=100,count,i,j;

for(i=0;a[i]!='\0';++i)

{

count=0;

if(a[i]==c)/*到了最多重复标记点*/

for(j=i+1;a[j]!='\0';++j)

{

int k=0;

k=i;

if(a[k]==a[j])/*只在与最多重复点相同时,才比较*/

{

while(a[k]==a[j])

{

count++;/*记下多少个相等*/

k++;

j++;

}

if(count

min=count;

}

}

}

return min;/*返回重复最多的长度*/

}

void main()

{

char a[100],c;

int i,j,k;

printf("请输入一个字符串\n");

gets(a);

c=cha_duo(a);

k=chang_cuan(a,c);

printf("出现最多的字符串是\n");

for(i=0;a[i]!='\0';++i)

if(a[i]==c)

{

j=i;

while(j<=k)/*输出结果*/

{

putchar(a[j]);

j++;

}

break;

}

putchar('\n');

}

5220198_1.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值