输入字串一:aocdfe  字串二:pmcdfa

输出:cdf

直接贴加了注释后的代码:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <iostream>
using namespace std;
char *commanstring(char shortstring[], char longstring[])
{
int i, j;
char *substring=(char*)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]='\0';    //这里杜绝了覆盖重叠的部分,‘\0后的内容不输出’
cout<<substring<<" ";
if(strstr(longstring, substring)!=NULL)
return substring;
}
cout<<endl;
}
return NULL;
}
/// 输入字串一:aocdfe  字串二:pmcdfa
///下面为寻找的方法
/// 第一轮: aocdf ocdfe
/// 第二轮: aocd  ocdf   cdfe
/// 第三轮: aoc   ocd    cdf
int main()
{
char *str1=(char*)malloc(256);
char *str2=(char*)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: %s\n", comman);
}

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

  1. 求出2个字符串中的最大公共子串

    给定字符串A和B,输出A和B中的最大公共子串.     比如A="aocdfe" B="pmcdfa" 则输出"cdf" void comm ...

  2. (C语言)素数是指大于1,且只能被1和它自身整除的正整数。现给定一个范围,请输出在此范围中素数的个数。

    题目描述: 素数是指大于1,且只能被1和它自身整除的正整数.现给定一个范围,请输出在此范围中素数的个数. 输入: 测试数据有多组,每组单独占一行,包括两个正整数m和n(2≤m,n≤10000),中间用 ...

  3. 面试宝典_Python.常规算法.0002.输出任意两个字符串中最长公共子串?

    面试题目: 1. 用PY实现求任意两个字符串最长的公共子串? 解题思路: 1. 先求出长度最小的字符串,然后遍历其索引,这样可以避免字符串索引溢出,然后判断对应索引的值是否相同,相同的话就加到目标字典 ...

  4. c语言寻找公共字符串,C语言查找两个字符串中的最大公共子串

    #include #include #include char *commonstring(char *str1,char *str2) { int i,j; char *longstr,*short ...

  5. 1.2、从“生日贺卡”看C++字符串的输入和输出

    功能 1.字符串的输入和输出 2.在贺卡中插入字符串 代码 //生日贺卡#include<iostream> //包含头文件,即使用iostream里的程序来用 using namespa ...

  6. 找出两个字符串的最长公共子串

    题目: 给定两个字符串str1和str2,输出两个字符串的最长公共子串,如果最长公共子串为空,输出-1. 输入描述: 输入包括两行,第一行代表字符串srr1,第二行代表字符串str2. 1 ≤ len ...

  7. SPOJ - PHRASES Relevant Phrases of Annihilation —— 后缀数组 出现于所有字符串中两次且不重叠的最长公共子串...

    题目链接:https://vjudge.net/problem/SPOJ-PHRASES PHRASES - Relevant Phrases of Annihilation no tags  You ...

  8. [Python]获取2个字符串的最长公共子串

    原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:https://blog.csdn.net/humanking7/article/details/84645055 文章目录 @[toc] ...

  9. 给定字符串1壹 2贰 3叁 4肆 5伍 6陆 7柒 8捌 9玖,输入对应的数字,输出对应的大写

    #region 给定字符串"1壹 2贰 3叁 4肆 5伍 6陆 7柒 8捌 9玖",输入对应的数字,输出对应的大写string str = "1壹 2贰 3叁 4肆 5伍 ...

最新文章

  1. 自动计算表格html,表格怎么自动计算加减
  2. Linux学习之系统编程篇:杀死 / 取消线程
  3. js控制公共模板中,不同页面中的导航选中效果-判断当前的url
  4. Java多线程并发学习-进阶大纲
  5. freedos能够编译c语言嘛,Freedos freedos核心源代码包含汇编和C语言代码 - 下载 - 搜珍网...
  6. 最多分成多少块(51Nod-2502)
  7. 4.线性和卷积——不同种类的噪声、中值滤波器揭破和实战_5
  8. 央行发布声纹识别安全应用技术标准,适用手机银行、第三方支付
  9. 前端面试宝典(2)——JavaScript
  10. python之路--面向对象之封装
  11. 凯立德地图导航2020年最新版车载_高精度地图会把自动驾驶带跑偏吗?
  12. Matplotlib入门详细教程
  13. android ios av tv,无需Apple TV的AirPlay镜像的顶级4解决方案您应该知道
  14. C语言也能干大事第十四节(如鹏基础)
  15. 苹果手机在哪搜索测试版软件,如何在 beta 版软件上测试你的 App
  16. ASP版MD5加密函数及用法
  17. 根据正则表达式创建NFA的Thompson算法 python实现
  18. 什么是对称加密(对称加密简介)
  19. 利用ECharts实现数据的左右移动
  20. android 渐变歌词,Android仿酷狗动感歌词(支持翻译和音译歌词)显示效果

热门文章

  1. 2021年P气瓶充装考试题及P气瓶充装最新解析
  2. IconResource:安卓、IOS、网页等开发图标素材源
  3. 穿越到东汉末年的Jackson
  4. 零基础 6 个月学会英语 - 6 个月从 0 学会英语 - Chris Lonsdale - 学习视频
  5. softlockup原理分析
  6. SpringBoot获取微信openid(java)
  7. 一句话给大家阐明 java中的方法签名!!!!Java中什么是方法签名
  8. 千古奇文《钱本草》:看透金钱本质!
  9. 支付宝小程序获取用户信息及手机号
  10. java手电筒_android--超级手电筒的开发记录