两个字符串的最长公共子串
发布时间: 2021-03-10 02:59:23
『壹』 C语言编程 查找两字符串的最长公共子串 如"I am a student."与"R u a student"最长公共子串是"student"
//有个问题是,空格应该也算字符吧,所以没考虑空格。就像你那个例子,最长公共字串应该是//“student”,包含空格.还有,就是我这个应该不是很好的方法,效率比较低,我是先让串//1不动,串2先从第1个字符开始与串1比较,然后串2从第2个字符开始于串1比较,都比较完了,///串1向右挪动一个位置
#include<stdio.h>
intmain()
{
charstr1[100]={0},str2[100]={0};
printf("pleaseinputtwostrings: ");
gets(str1);//读入字串
gets(str2);
char*p1=str1;//分别用来存str1和str2的当下比较位置
char*p2=str2;
intmax=0,num=0;//max存放比较后最长字串长度,num是这一轮比较公共字串长度
char*start;//存放最大串起始位置
while(*p1!='