求一个字符串中最长的字符串
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;
}
返回起始位置,并输出重复的字串:
如输入: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;
}
相关文章推荐
- 单例分享(循环引用及内存占用解决)
- C++标准程序库笔记(1)
- C++的构造函数浅析
- C语言宏定义##连接符和#符的使用
- 多种方法解决同一个问题(一)-----乘法口诀表
- c++的基本语言知识(三)
- c++的基本语言知识(四 )
- 用C/C++解决一些数学问题(一)
- C/C++的基本语言知识(五)
- 用C/C++解决一些数学问题(二)
- 用C/C++解决一些数学问题(三)
- 函数重载的意义详细说明
- 总结:用一个例子包含c++的所有的基本知识点(一)
- 日历查询
- 一些程序函数 C++语言,找数组中弟第K大的数和自己写的子符串截取函数
- 狐狸抓兔子的问题
- 尾单词长度、1 3 9 27 81 实现1-121任意算法、去除重复字符并排序、拼音转数字、按要求分解字符串
- 约瑟夫环 数组与链表实现
- “输出下一秒”
- 实现两个大数相加!