字符串包含的算法设计及C代码实现

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

一、需求描述

给定一个长字符串和一个短字符串,编写程序判断短字符串中的所有字符是否都在长字符串中。如果是,则长字符串包含短字符串;反之,不包含。


为了尽量包含大多数情况,字符串中可以包含大小写英文字母、数字和各种标点符号,并且区分大小写字母。


下面举几个例子予以说明:

1.如果长字符串是“ABCDE”,短字符串是“ADC”,那么短字符串中的所有字符都在长字符串中,即长字符串包含了短字符串。


2.如果长字符串是“ABCDE”,短字符串是“ADCF”,那么短字符串中不是所有字符都在长字符串中,即长字符串不包含了短字符串。


3.如果长字符串是“ABCDE”,短字符串是“AAB”,那么短字符串中的所有字符都在长字符串中,即长字符串包含了短字符串。

 

二、算法设计

我们都知道,就像人体是由一个个的细胞组成一样,一个字符串是由一个个的字符组成。如果组成某个字符串的所有字符都在另一个字符串中,那么这个字符串就被另一个字符串包含。


因此,我们可以考虑先将两个字符串中的所有字符都找出来,再判断较短的字符串中的所有字符是否都出现在了较长的字符串中。如果是,那么两个字符串是包含与被包含的关系;如果不是,那么两个字符串则“形同陌路”。


程序的总体流程如图1所示。

图1 程序的总体流程

 

三、特殊流程考虑

在编写程序的过程中,我们要对输入的两个字符串的长度及格式多做考虑,如:

1.如果输入失误,导致短字符串的长度大于了长字符串,那么程序直接返回,不进行后续处理。


2.不允许在输入字符串的中间出现空格,如果出现了,只能把空格前面的内容作为输入的字符串。


3.输入字符串可以包含字母(区分大小写)、数字、标点符号等字符。


4.为了方便程序处理,设定较长的字符串最长为500个字节,较短的字符串最长为100个字节。

 

四、程序代码

 

标签: 代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:拼音 C#获得汉字拼音声母类

下一篇:django导出excel