IT科技

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

时间:2010-12-5 17:23:32  作者:IT科技类资讯   来源:应用开发  查看:  评论:0
内容摘要:一、需求描述给定一个长字符串和一个短字符串,编写程序判断短字符串中的所有字符是否都在长字符串中。如果是,则长字符串包含短字符串;反之,不包含。为了尽量包含大多数情况,字符串中可以包含大小写英文字母、数

一、字符需求描述

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

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

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

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

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

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

二、算法设计

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

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

程序的高防服务器总体流程如图1所示。

图1 程序的总体流程

三、特殊流程考虑

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

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

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

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

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

四、程序代码

/
copyright © 2025 powered by 益强资讯全景  滇ICP备2023006006号-31sitemap