兩個字元串的最長公共子串
發布時間: 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!='