栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > C++面试题库

给定字符串A和B,输出A和B中的最大公共子串。

给定字符串A和B,输出A和B中的最大公共子串。

#include
#include
#include
char *commanstring(char shortstring[], char longstring[])
{
int i, j;
char *substring=malloc(256);
if(strstr(longstring, shortstring)!=NULL) //如果……,那么返回shortstring
return shortstring;
for(i=strlen(shortstring)-1;i>0; i–) //否则,开始循环计算
{
for(j=0; j<=strlen(shortstring)-i; j++){memcpy(substring, &shortstring[j], i);substring[i]='';if(strstr(longstring, substring)!=NULL)return substring;}}return NULL;} main(){char *str1=malloc(256);char *str2=malloc(256);char *comman=NULL; gets(str1);gets(str2); if(strlen(str1)>strlen(str2)) //将短的字符串放前面
comman=commanstring(str2, str1);
else
comman=commanstring(str1, str2);
printf(“the longest comman string is: %sn”, comman);
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/265739.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号