当前位置: 首页 > news >正文

h5网站怎么做建设网站教程全集

h5网站怎么做,建设网站教程全集,软件外包公司是什么意思,外国网站代理题目 Cpp 【问题描述】 求N个字符串的最长公共子串&#xff0c;2 < N&#xff1c;&#xff1d;20&#xff0c;字符串长度不超过255。 例如&#xff1a;N&#xff1d;3&#xff0c;由键盘依次输入三个字符串为 What is local bus? Name some local buses. local bus is a h…

题目

Cpp
【问题描述】
求N个字符串的最长公共子串,2 < N<=20,字符串长度不超过255。
例如:N=3,由键盘依次输入三个字符串为
What is local bus?
Name some local buses.
local bus is a high speed I/O bus close to the processer.
则最长公共子串为"local bus"。


分析

找n个字符串中的最大公共子串。


思路

先遍历出其中两个字符串的所有公共子集,然后后面每输入一个字符串就排除掉几个不存在当中的,最后找出最长的输出。


代码

  1. 框架

    int main(){return 0;
    }
    

  2. 先输入前两个字符串。

    #include<cstdio>	//scanf()
    char a[256], b[256];
    int main(){scanf("%[^\n]\n%[^\n]", &a, &b);return 0;
    }
    

  3. 找出这两个字符串的公共子串。详情可见这篇。

    #include<cstdio>	//scanf()
    #include<cstring>	//strlen(), memset(), strstr(), strcpy()
    char a[256], b[256], t[256], c[256*256][256];
    int x;
    int main(){scanf("%[^\n]\n%[^\n]", &a, &b);for(int i=0; i<strlen(a); i++){memset(t, 0, sizeof(t));for(int j=0; j<strlen(a)-i; j++){t[j]=a[i+j];if(strstr(b, t)!=NULL){strcpy(c[x], t);x++;}}}return 0;
    }
    

    数组t:临时用,存放当前遍历到的子串。
    二维数组c:存放遍历到的所有公共子串。
    整形变量x:代表所有公共子串的数量。


  4. 输入剩下的字符串,边输入一边删除不存在的子串。记得修改变量x。

    #include<cstdio>	//scanf()
    #include<cstring>	//strlen(), memset(), strstr(), strcpy()
    char a[256], b[256], t[256], c[256*256][256];
    int x;
    int main(){scanf("%[^\n]\n%[^\n]", &a, &b);for(int i=0; i<strlen(a); i++){memset(t, 0, sizeof(t));for(int j=0; j<strlen(a)-i; j++){t[j]=a[i+j];if(strstr(b, t)!=NULL){strcpy(c[x], t);x++;}}}while(scanf("\n%[^\n]", &b)!=EOF){for(int i=x-1; i>=0; i--){if(strstr(b, c[i])==NULL){for(int j=i; j<x; j++){strcpy(c[i], c[i+1]);}x--;}}}return 0;
    }
    

  5. 找出公共子串中,最长的子串,并输出。

    #include<cstdio>	//scanf(), printf()
    #include<cstring>	//strlen(), memset(), strstr(), strcpy()
    char a[256], b[256], t[256], c[256*256][256];
    int x;
    int main(){scanf("%[^\n]\n%[^\n]", &a, &b);for(int i=0; i<strlen(a); i++){memset(t, 0, sizeof(t));for(int j=0; j<strlen(a)-i; j++){t[j]=a[i+j];if(strstr(b, t)!=NULL){strcpy(c[x], t);x++;}}}while(scanf("\n%[^\n]", &b)!=EOF){for(int i=x-1; i>=0; i--){if(strstr(b, c[i])==NULL){for(int j=i; j<x; j++){strcpy(c[i], c[i+1]);}x--;}}}memset(a, 0, sizeof(a));for(int i=0; i<x-1; i++){if(strlen(c[i])>strlen(a)){strcpy(a, c[i]);}}printf("%s", a);return 0;
    }
    


答案

#include<cstdio>	//scanf(), printf()
#include<cstring>	//strlen(), memset(), strstr(), strcpy()
char a[256], b[256], t[256], c[256*256][256];
int x;
int main(){scanf("%[^\n]\n%[^\n]", &a, &b);for(int i=0; i<strlen(a); i++){memset(t, 0, sizeof(t));for(int j=0; j<strlen(a)-i; j++){t[j]=a[i+j];if(strstr(b, t)!=NULL){strcpy(c[x], t);x++;}}}while(scanf("\n%[^\n]", &b)!=EOF){for(int i=x-1; i>=0; i--){if(strstr(b, c[i])==NULL){for(int j=i; j<x; j++){strcpy(c[i], c[i+1]);}x--;}}}memset(a, 0, sizeof(a));for(int i=0; i<x-1; i++){if(strlen(c[i])>strlen(a)){strcpy(a, c[i]);}}printf("%s", a);return 0;
}

http://www.yayakq.cn/news/390254/

相关文章:

  • 用angular做的网站青岛网站定制多少钱
  • 如何快速提升网站关键词排名嵌入式软件开发工程师是做什么的
  • 个人网站建设 免费怎么查询网站的建站时间
  • 网站的效果图建个网站需要多少钱一个
  • 网站开发技术协议怎么写北京skp
  • 做湘菜的网站河北省建设厅
  • 免费素材哪个网站比较好平台开发者
  • 广州专业网站改版哪家好.net开发的网站 能做成app吗
  • 网站建设是什么科目外贸哪些免费网站开发客户
  • 如何做营销型网站网站建设业务培训资料
  • 无棣网站制作东海军事新闻最新消息
  • 微网站技术wordpress 播放优酷
  • 骨干校建设验收网站seo案例分析方案
  • 做网站挣钱快吗沈阳网站建设的价格
  • 哈尔滨网站备案手续wordpress 微信 分享
  • 金阳龙泉苑网站建设长沙3合1网站建设电话
  • 西海岸建设局网站网页设计与制作成品是啥样的
  • 网站seo是干什么的上海免费网站建设公司
  • 单页网站订单系统怎么改邮箱企业网站 建设公司
  • 思途旅游cms网站建设系统wordpress plugins.php
  • wordpress建小说站收费python前端开发
  • 硅胶模具技术支持东莞网站建设苏州网站建设外贸
  • 微信做模板下载网站有哪些外贸公司出口退税申报流程
  • 动态asp.net网站开发教程企业网站cms模板
  • 哈尔滨网站公司良精网站管理系统
  • 国外免费建站网站搭建做网站用百度百科的资料会侵权吗
  • 苏州企业网站谷哇网站建设
  • 东营网站建设哪家更好jsp网站开发步骤
  • 嘉兴有哪些做网站的公司云南建设厅网站职称评定
  • 平面设计师常用的网站网站推广软文选择天天软文