C语言求两个字符串的最长公共子串
本文实例讲述了C语言求两个字符串的最长公共子串的方法。分享给大家供大家参考。具体实现方法如下:
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
voidgetCommon(charstr1[],charstr2[],char*str3);
intstringLength(char*str);
voidmain(){
charstr1[50];
charstr2[50];
charstr3[50];
gets(str1);
gets(str2);
getCommon(str1,str2,str3);
printf("%s\n",str3);
//printf("%d\n",stringLength(str2));
}
intstringLength(char*str){
intlen=0;
while(*str!='\0'){
len++;
str++;
}
returnlen;
}
voidgetCommon(charstr1[],charstr2[],char*str3){
intlen1,len2;
inti,j,k;
intmax=0;
intstart=-1;
len1=stringLength(str1);
len2=stringLength(str2);
for(i=0;i<len1;i++){
for(j=0;j<len2;j++){
if(str1[i]==str2[j]){
for(k=0;(str1[i+k]==str2[j+k]&&str1[i+k]!='\0');k++);
if(max<k){
max=k;
start=i;
}
}
}
}
if(start==-1){
str3[0]='\0';;
}else{
memcpy(str3,&str1[start],max);
str3[max]='\0';
}
}
希望本文所述对大家的C语言程序设计有所帮助。
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短