从两个字符串找到相同的字母,然后比较下一个字母是否相同,取相同数最多一段。
#include"stdio.h"
#include"string.h"
int fun(char* str_1, int len_1, char* str_2, int len_2) {
int max_len = 0;
int i, j, k;
for (i = 0; i < len_1; i++) {
for (j = 0; j < len_2; j++) {
if (str_1[i] == str_2[j]) {
for (k = 0; k < len_1 - i && k < len_2 - j; k++) {
if (str_1[i + k] != str_2[j + k]) {
break;
}
if (k + 1 > max_len)max_len = k + 1;
}
}
}
}
printf("%d", max_len);
return 0;
}
int main(void) {
char str_1[151] = {0};
char str_2[151] = {0};
scanf("%s", str_1);
scanf("%s", str_2);
int len_1 = strlen(str_1);
int len_2 = strlen(str_2);
if (len_1 < len_2) {
fun(str_1, len_1, str_2, len_2);
} else {
fun(str_2, len_2, str_1, len_1);
}
return 0;
}



京公网安备 11010502036488号