程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 【字符串處理算法】最長連續字符及其出現次數的算法設計及C代碼實現

【字符串處理算法】最長連續字符及其出現次數的算法設計及C代碼實現

編輯:關於C語言

【字符串處理算法】最長連續字符及其出現次數的算法設計及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。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved