【字符串处理算法】最长连续字符及其出现次数的算法设计及C代码实现

一、需求描写叙述

输入一个字符串,编敲代码找出这个字符串中的最长连续字符,并求出其连续出现的次数。

比如。“123444445”中的最长连续字符是4,其连续出现的次数为5;“abcddef”中的最长连续字符是d。其连续出现的次数为2。“ab”中的最长连续字符是a,其连续出现的次数为1。

 

二、算法设计

我们能够採取逐个比較字符串中各个字符的办法来获取最长连续字符及其连续出现的次数。

程序的整体流程如图1所看到的。

图1 程序的整体流程

 

三、特殊流程考虑

在编敲代码的过程中,我们要对输入的字符串的长度及格式多做考虑。如:

1.假设输入的字符串中含有空格,那么我们仅仅处理空格之前的字符串。

2.输入的字符串中能够包括数字、字母及一些特殊的字符。但不能包括中文字符。

 

四、程序代码

 

 

五、程序測试

我们将编写好的程序“LongestContinChars.c”上传到Linux机器。并使用“gcc -g -oLongestContinChars LongestContinChars.c”命令对该程序进行编译,生成“LongestContinChars”文件。

以下对程序进行具体的測试。

1.输入字符串为“ababbba”时。程序执行情况例如以下:

Please input the string:

ababbba

InputStr=ababbba

连续出现次数最多的字符是: b

连续出现的次数是: 3

 

2.输入字符串为“123321”时。程序执行情况例如以下:

Please input the string:

123321

InputStr=123321

连续出现次数最多的字符是: 3

连续出现的次数是: 2

 

3.输入字符串为“!@##$%”时,程序执行情况例如以下:

Please input the string:

!@##$%

InputStr=!@##$%

连续出现次数最多的字符是: #

连续出现的次数是: 2

 

4.输入字符串为“abcdef”时。程序执行情况例如以下:

Please input the string:

abcdef

InputStr=abcdef

连续出现次数最多的字符是: a

连续出现的次数是: 1 


5.输入字符串为“我们123”时。程序执行情况例如以下:

Please input the string:

我们123

InputStr=我们123

我们123 has Chinese character, please check!


六、需求扩展

基于本文中的需求和程序,我们可考虑对需求进行以下扩展:

1.不区分字母的大写和小写。即假设输入的字符串为“AAAaaa”,那么程序输出最长连续字符为A或a。出现次数为6。

2.不限制字符串中不能出现中文字符,即假设输入的字符串为“窝窝头123”。那么程序输出最长连续字符为窝,出现次数为2。

 

转载于:https://www.cnblogs.com/jzdwajue/p/7224611.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值