您的位置:首页 > 编程语言 > C语言/C++

求一个字符串中最长的字符串

2015-10-14 21:53 295 查看
求一个字符串中最长的字符串

返回起始位置,并输出重复的字串:

如输入:xyhhhabsh   okkabshkl

输出:5 absh

以下是代码:

int FindMaxStr(char *src,char *res)
{
int first= -1;
int m=0;

for(int i=1;i<strlen(src);i++) //i控制扫描的步长
{
for(int k=0,j=0;j<strlen(src)-i;j++) //j控制扫描位置
{
if(src[j]==src[j+i])
k++;
else
{
k=0;
}
if(k>m)
{
m=k;
first=j-k+1;
}
}
}
int n=0;
if(m>0)
{
for(n=0;n<m;n++)
res
=src[first+n];
}
res
='\0';
return first;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息