从两个字符串找到相同的字母,然后比较下一个字母是否相同,取相同数最多一段。
#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; }