C程式設計——程式設計實現查詢兩個字串的最大公共子串1.0
阿新 • • 發佈:2018-12-01
1、
題目:程式設計實現查詢兩個字串的最大公共子串
示例:“aocdfe"和"pmcdfa"最大公共子串為"cdf”
注:最大公共子串有不止一個時,只輸出第一個最大子串
**2、**程式
#include <stdio.h> #include <string.h> int main() { char *str1 = "aocdfe"; char *str2 = "aadapmcdfa"; int longest = 0; // 最大長度 int i; int j; int start = 0; for (i = 0; i < strlen(str1); i++) { for (j = 0; j < strlen(str2); j++) { int len = 0; if (str1[i] == str2[j]) { int a, b; for (a = i, b = j; a<strlen(str1) && b<strlen(str2); a++, b++) { if (str1[a] == str2[b]) len++; else break; } } if (len > longest) { longest = len; start = i; } } } printf ("最大公共子串為:"); for (i = start; i < longest+start; i++) printf ("%c", str1[i]); printf ("\n"); return 0; }
3、測試結果
最大公共子串為:cdf