最长公共字串
输入两行字母,自动计算最长的公共字串,自己以前写的
例:
输入:dkabcdefgljajei
mjabcdefgkqal
输出:abcdefg
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char a[1000],b[1000];
int len,max,maxi,i,j,k,t;
memset(a,0,100);
memset(b,0,100);
gets(a);
gets(b);
len=strlen(a);
max=0;
maxi=0;
t=0;
for(i=0;i<len;i++)
{
for(j=0;j<len;j++)
{
t=0;
while(t+i<len && a[i+t]==b[j+t])
{
t++;
}
if(t>max)
{
max=t;
maxi=i;
}
}
}
for(i=maxi;i<maxi+max;i++)
{
printf("%c",a[i]);
}
printf("\n");
system("pause");
return 0;
}
|