/*
//查找两串字符中 最长相等字符串
ex:
str1 = stringchenlu
str2 = ingchseeme
result:str = ingch
*/
#include "stdio.h"
#include "string.h"
int main()
{
char str1[100]="";
char str2[100]="";
char str3[100]="";
char str4[100]="";
int i,j,k,l;
int num=0;
int len1,len2,max;
int b;
while (strcmp(str1,"exit")!=0)
{
printf("输入(exit)退出程序\n");
printf("请输入字符串1:");
scanf("%s",str1);
printf("请输入字符串2:");
scanf("%s",str2);
len1=strlen(str1);
len2=strlen(str2);
j=0;
max=0;
for(l=0;l<100;l++)
str3[l]='\0';
while(j<len2)
{
for(i=0;i<len1;i++)
{
num=0;k=0;
while(str1[i]==str2[j]&&str1[i]!='\0')
{
str3[k]=str1[i];
i++;
k++;
j++;
num++;
}
if(num>=max)
{
max=num--;
strcpy(str4,str3);
}
j=j-num;
}
b=num;
j++;
if(j>=len2)
{
printf("最长匹配:%s\n",str4);
}
}
}
}