#include <stdio.h>
#include <string.h>
int main(int argc, const char * argv[]) {
char a[100],b[100];
printf("请输入第一个字符串:");
gets(a);
printf("请输入第二个字符串:");
gets(b);
int i,j,k=0,x,y=0;
for(i=0;i<strlen(a);i++){
for (j=0; j<strlen(b); j++) {
x=0;
//当两个数组有相同的值的时候,坐标都后移判断后边的数值是否相同
while (a[i+x]==b[j+x]&&a[i+x]!='0') {
x++;
}
//判断当前的公共字符长度是否大于之前的长度,如果大于则重新存储最大公共字符的长度值和起始下标
if(k<=x){
k=x;
y=i;
}
}
}
//从最大的公共字符处的起始下标处,打印最长的公共字符
for(i=y;i<y+k;i++)
printf("%c",a[i]);
return 0;
} |
|