- <img src="http://bbs.itheima.com/forum.php?mod=image&aid=58036&size=300x300&key=debfa2ee0cdaf371&nocache=yes&type=fixnone" border="0" aid="attachimg_58036" alt="">/*
-
- 10、 找出多个字符串中的最大公共子字符串,如“nbitheimanb”和“itheia”的最大子串是:”ithei”。(C语言)
-
- */
- #include <stdio.h>
- #include <string.h>
- int getMaxSonSrt(char *s1, char *s2, int len1, int len2)
- {
- int index = 0;
-
- int m = 0, n = 0;
-
- for (int i = 0; i < len1; i++)
- {
- for (int j = 0; j < len2; j++)
- {
- if (s1[i] ==s2[j] && s1[i] != '\n')
- {
- m = 1;
-
- for (int k = 0; s1[i+k] == s2[j+k] && s1[i+k]!='\0'; k++)
- {
- m++;
- }
- if(m > n)
- {
- index = i;
-
- n = m;
- }
- }
- }
- }
- if(m !=0)
- {
- printf("最长的公共子串:");
-
- for(int i = 0; i < m; i++)
- {
- printf("%c",s1[index]);
- }
- }
- else
- {
- printf("没有公共子串!\n");
- }
- return 0;
- }
- int main()
- {
- char str1[110];
-
- char str2[110];
-
- printf("请输入第一个字符串:\n");
-
- gets(str1);
-
- printf("请输入第二个字符串:\n");
-
- gets(str2);
-
- int len_str1 = strlen("str1");
-
- int len_str2 = strlen("str2");
-
- getMaxSonStr(str1,str2,len_str1,len_str2);
-
- printf("\n");
-
- return 0;
- }
复制代码
|
|