字符串匹配问题,帮忙谢谢
编写字符串匹配函数,查找在两个字符串中相同的最大子串,比如“abcdefg”和”acdeik”的最大子串是”cde”,如果不唯一,则列出全部。 没有什么思路啊,帮帮忙,给个提示。
char *compare(char *p1,char *p2,int n1,int n2,int n) { int i,j,k=0; char *p3,temp[20];
for(i=0;i<n1;i++,*(p1+i)) { for(j=0;j<n2;j++,*(p2+j)) { while(*p1==*(p2+j)) { temp[k]=*(p2+j); *p1++; *p2++; k++; } if(n<k) { n=k; p3=temp; } } } return p3; } void main() { char a[20],b[20],*p,c[20]; int n1,n2,i,n=0; scanf("%s%s",&a,&b); n1=strlen(a); n2=strlen(b); p=c; p=compare(a,b,n1,n2,n); printf("%s",p);
}
试图写了一个,不过运行不太对,大家帮忙看看
[此贴子已经被作者于2005-9-27 11:07:25编辑过]