最长重复子串
#include <stdio.h>
#include <stdlib.h>
#define BUF_MAX 1000
int index; //子串起始位置
int len;//子串长度
void str_search(const char *str)
{
int i=0,j;
while(str[i]!='\0') ++i;
int strlen=i;
for(i=strlen/2;i>0;--i)
{
int zeronum=0;
for(j=i;j<strlen;++j)
{
if (str[j]==str[j-i])
{
++zeronum;
if (zeronum==i)
{
index=j-2*i+1;
len=i;
return;
}
}
else
{
zeronum=0;
}
}
}
}
int main(int argc, char *argv[])
{
char str[BUF_MAX];
scanf("%s",str);
str_search(str);
printf("%d:%d\n",index,len);
}