精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

刪除特定的字符的算法設計及C代碼實現

開發 開發工具 算法
今天講講刪除特定的字符的算法設計及C代碼實現。

一、需求描述

輸入一個長字符串和一個短字符串,編寫程序從長字符串中將在短字符串出現過的字符刪除掉。

例如,長字符串為“1234abcd”,短字符串為“3a”,那么經程序處理之后的字符串為“124bcd”;又如,長字符串為“good bye”,短字符串為“obh”,那么經程序處理之后的字符串為“gd ye”。

二、算法設計

我們可以通過將長字符串中的字符逐個與短字符串中的字符相比較來判斷是否應該將某個字符從長字符串中刪除掉。

即如果長字符串為“1234abcd”,短字符串為“2a”,那么先將長字符串中的***個字符“1”分別與短字符串中的“2”和“a”相比較,發現都不相等,于是將字符“1”加入到新的字符串中;接著將長字符串中的第二個字符“2”分別與短字符串中的“2”和“a”相比較,發現有相等的,于是不將字符“2”加入到新的字符串中;如此循環執行,直到長字符串中的所有字符都比較完成。

代碼

三、特殊流程考慮

在編寫程序的過程中,我們要對輸入的字符串的長度及格式多做考慮,如:

1.如果輸入的兩個字符串之一含有中文字符,那么程序直接返回而不執行后續流程。

2.如果輸入的短字符串的長度大于了長字符串的長度,那么程序直接返回而不執行后續流程。

四、程序代碼

  1. /********************************************************************** 
  2. * 版權所有 (C)2016, Zhou Zhaoxiong。 
  3. * 文件名稱: RemoveChars.c 
  4. * 文件標識: 無 
  5. * 內容摘要: 在長字符串中刪除在短字符串中出現過的字符 
  6. * 其它說明: 例如, 長字符串為"My name", 短字符串為"na", 那么結果為"My me" 
  7. * 當前版本: V1.0 
  8. * 作    者: Zhou Zhaoxiong 
  9. * 完成日期: 20160318 
  10. **********************************************************************/ 
  11. #include <stdio.h> 
  12.  
  13. // 重新定義數據類型 
  14. typedef signed   char  INT8; 
  15. typedef          int   INT32; 
  16. typedef unsigned int   UINT32; 
  17.  
  18. // 函數聲明 
  19. void RemoveCharsFromStr(INT8 *pszInputLongStr, INT8 *pszInputShortStr); 
  20.  
  21.  
  22. /********************************************************************** 
  23. * 功能描述: 主函數 
  24. * 輸入參數: 無 
  25. * 輸出參數: 無 
  26. * 返 回 值: 0-執行成功   其它-執行失敗 
  27. * 其它說明: 無 
  28. * 修改日期        版本號     修改人            修改內容 
  29. * --------------------------------------------------------------------- 
  30. * 20160318        V1.0     Zhou Zhaoxiong        創建 
  31. ***********************************************************************/ 
  32. INT32 main() 
  33.     INT8   szInputLongStr[100] = {0}; 
  34.     INT8   szInputShortStr[50] = {0}; 
  35.     UINT32 iPosFlag            = 0
  36.      
  37.     printf("Please input the long string: \n"); 
  38.     gets(szInputLongStr); 
  39.     printf("InputLongStr=%s\n", szInputLongStr); 
  40.  
  41.     printf("Please input the short string: \n"); 
  42.     gets(szInputShortStr); 
  43.     printf("InputShortStr=%s\n", szInputShortStr); 
  44.  
  45.     // 判斷兩個字符串中是否有中文字符 
  46.     for (iPosFlag = 0; iPosFlag < strlen(szInputLongStr); iPosFlag ++) 
  47.     { 
  48.         if (szInputLongStr[iPosFlag] < 0)     // 小于0則表示含有中文字符 
  49.         { 
  50.             printf("%s has Chinese character, please check!\n", szInputLongStr); 
  51.             return -1; 
  52.         } 
  53.     } 
  54.  
  55.     for (iPosFlag = 0; iPosFlag < strlen(szInputShortStr); iPosFlag ++) 
  56.     { 
  57.         if (szInputShortStr[iPosFlag] < 0)     // 小于0則表示含有中文字符 
  58.         { 
  59.             printf("%s has Chinese character, please check!\n", szInputShortStr); 
  60.             return -1; 
  61.         } 
  62.     } 
  63.  
  64.     // 判斷短字符串的長度是否超過了長字符串 
  65.     if (strlen(szInputShortStr) > strlen(szInputLongStr)) 
  66.     { 
  67.         printf("%s is longer than %s, please check!\n", szInputShortStr, szInputLongStr); 
  68.         return -2; 
  69.     } 
  70.  
  71.     // 調用函數從長字符中將在短字符串中存在的字符刪除掉 
  72.     RemoveCharsFromStr(szInputLongStr, szInputShortStr); 
  73.      
  74.     return 0; 
  75.  
  76.  
  77. /********************************************************************** 
  78. * 功能描述: 從長字符中將在短字符串中存在的字符刪除掉 
  79. * 輸入參數: pszInputLongStr-輸入的長字符串 
  80.              pszInputShortStr-輸入的短字符串 
  81. * 輸出參數: 無 
  82. * 返 回 值: 無 
  83. * 其它說明: 無 
  84. * 修改日期        版本號        修改人          修改內容 
  85. * --------------------------------------------------------------------- 
  86. * 20160318        V1.0     Zhou Zhaoxiong        創建 
  87. ***********************************************************************/ 
  88. void RemoveCharsFromStr(INT8 *pszInputLongStr, INT8 *pszInputShortStr) 
  89.     INT8   szNewtStr[100] = {0}; 
  90.     UINT32 iOuterLoopFlag = 0
  91.     UINT32 iInnerLoopFlag = 0
  92.     UINT32 iCharUseFlag   = 0
  93.  
  94.     if (pszInputLongStr == NULL || pszInputShortStr == NULL) 
  95.     { 
  96.         return; 
  97.     } 
  98.  
  99.     memset(szNewtStr, 0x00, sizeof(szNewtStr)); 
  100.      
  101.     for (iOuterLoopFlag = 0; iOuterLoopFlag < strlen(pszInputLongStr); iOuterLoopFlag ++) 
  102.     { 
  103.         iCharUseFlag = 1
  104.         for (iInnerLoopFlag = 0; iInnerLoopFlag < strlen(pszInputShortStr); iInnerLoopFlag ++) 
  105.         { 
  106.             if (pszInputLongStr[iOuterLoopFlag] == pszInputShortStr[iInnerLoopFlag]) 
  107.             { 
  108.                 iCharUseFlag = 0;    // 不要將該字符加入新的字符串中 
  109.                 break; 
  110.             } 
  111.         } 
  112.      
  113.         if (iCharUseFlag == 1) 
  114.         { 
  115.             strncat(szNewtStr, pszInputLongStr+iOuterLoopFlag, 1); 
  116.         } 
  117.     } 
  118.      
  119.     printf("Remove chars of %s from %s, the new str is: %s\n", pszInputShortStr, pszInputLongStr, szNewtStr); 

五、程序測試

我們將編寫好的程序“RemoveChars.c”上傳到Linux機器,并使用“gcc -g -o RemoveCharsRemoveChars.c”命令對該程序進行編譯,生成“RemoveChars”文件。下面對程序進行詳細的測試。

1.輸入長字符串為“1234abcd”,短字符串為“2a”時,程序運行情況如下:

  1. Please input the long string: 
  2. 1234abcd 
  3. InputLongStr=1234abcd 
  4. Please input the short string: 
  5. 2a 
  6. InputShortStr=2a 
  7. Remove chars of 2a from 1234abcd, the new str is: 134bcd 

2.輸入長字符串為“Happy dog!”,短字符串為“ao”時,程序運行情況如下:

  1. Please input the long string: 
  2. Happy dog! 
  3. InputLongStr=Happy dog! 
  4. Please input the short string: 
  5. ao 
  6. InputShortStr=ao 
  7. Remove chars of ao from Happy dog!, the new str is: Hppy dg! 

3.輸入長字符串為“我們123”,短字符串為“345”時,程序運行情況如下:

  1. Please input the long string: 
  2. 我們123 
  3. InputLongStr=我們123 
  4. Please input the short string: 
  5. 345 
  6. InputShortStr=345 
  7. 我們123 has Chinese character, please check! 

4.輸入長字符串為“12345”,短字符串為“234567”時,程序運行情況如下:

  1. Please input the long string: 
  2. 12345 
  3. InputLongStr=12345 
  4. Please input the short string: 
  5. 234567 
  6. InputShortStr=234567 
  7. 234567 is longer than 12345, please check! 

5.輸入長字符串為“abcdsf”,短字符串為“af2”時,程序運行情況如下:

  1. Please input the long string: 
  2. abcdsf 
  3. InputLongStr=abcdsf 
  4. Please input the short string: 
  5. af2 
  6. InputShortStr=af2 
  7. Remove chars of af2 from abcdsf, the new str is: bcds 

六、需求擴展

基于本文中的需求和程序,我們可考慮對需求進行以下擴展:

1.如果短字符串中的某個字符在長字符串中存在,那么在長字符串的對應位置用空格占位,而不是直接將該字符從長字符串中刪除。

 

2.不限制輸入字符串中不能出現中文字符,即如果長字符串為“我們123”,短字符串為“我1”,那么經程序處理之后的字符串為“們23”。

【本文是51CTO專欄作者周兆熊的原創文章,作者微信公眾號:周氏邏輯(logiczhou)】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2016-12-29 17:14:41

回文串算法代碼

2016-12-30 13:32:24

字符串算法代碼

2016-12-30 13:16:51

字符串算法代碼

2016-12-29 17:07:59

字符算法代碼

2016-12-30 13:37:50

字符串算法代碼

2016-12-29 15:58:00

字符串子串算法

2016-12-29 11:02:13

源目錄前綴算法

2018-07-27 08:39:44

負載均衡算法實現

2016-12-29 11:18:26

前綴后綴C代碼

2023-01-24 17:03:13

強化學習算法機器人人工智能

2015-03-25 11:42:52

Java刪除特定元素

2025-06-30 04:23:00

2023-02-26 22:33:32

字符串排列算法

2009-08-10 18:00:30

C#數據庫備份及還原

2009-08-11 10:26:49

C#算法C#字符串反轉

2017-03-02 10:49:37

推薦算法原理實現

2009-09-02 17:24:44

C#關機代碼

2009-08-18 13:35:06

C#枚舉文件

2011-04-11 17:08:16

階乘算法C++

2023-12-20 08:35:54

Dijkstra算法A*算法計算機圖形學
點贊
收藏

51CTO技術棧公眾號

国产一区二区三区日韩欧美| 亚洲在线黄色| 天天色 色综合| 97视频资源在线观看| 国产精品2020| 理论片一区二区在线| 一本色道久久综合亚洲91| 亚洲一卡二卡三卡| 可以免费观看的毛片| 日韩精品欧美精品| 欧美国产中文字幕| 99精品一区二区三区无码吞精| 日韩精品成人av| 香蕉av777xxx色综合一区| 日韩视频免费观看| 男人添女人荫蒂国产| 美女日韩欧美| 一区二区高清免费观看影视大全| www.成人av.com| 国产成人一区二区三区影院在线 | 91久久精品国产91久久| 国产一级特黄视频| 欧美超碰在线| 亚洲精品视频二区| 久久久久亚洲av无码网站| av成人在线看| 五月激情六月综合| www.黄色网址.com| eeuss影院在线播放| 99久久er热在这里只有精品66| 国产在线观看一区二区三区 | 色88888久久久久久影院按摩| 亚洲高清视频一区二区| 天天影院图片亚洲| 国产 日韩 欧美大片| 97婷婷大伊香蕉精品视频| 99鲁鲁精品一区二区三区| 国产尤物久久久| 亚洲第一视频在线观看| 中国黄色片一级| 精品123区| 色综合久久久久综合99| 成人一对一视频| 国产裸舞福利在线视频合集| 久久综合色婷婷| 国产欧美日韩综合一区在线观看| 国产精品久久久久久免费播放 | 欧美综合在线观看| 精品视频一区二区在线观看| 91精品啪在线观看国产18| 亚洲美女性视频| 欧美黑人欧美精品刺激| 嫩草国产精品入口| 精品国产3级a| 黄色av网址在线观看| 综合激情久久| 欧美精品 国产精品| 日韩大片一区二区| 久久久久久久性潮| 亚洲成在人线免费| 成人免费播放器| 激情成人四房播| 亚洲欧美区自拍先锋| 亚洲视频在线二区| 久热国产在线| 一区二区三区四区蜜桃| 日韩在线视频在线| 中文字幕中文字幕在线十八区| 中文字幕亚洲欧美在线不卡| 一级全黄肉体裸体全过程| 蜜桃视频网站在线| 亚洲四区在线观看| 国产三级中文字幕| 国精产品一区一区三区mba下载| 亚洲欧美区自拍先锋| 日韩国产小视频| 爱看av在线入口| 欧美日韩国产区| 久久久久久久激情| 九九热线视频只有这里最精品| 欧美午夜在线观看| 亚洲精品第三页| 成人黄色理论片| 日韩欧美国产小视频| 在线观看av免费观看| 超碰成人免费| 一区二区三区久久精品| 一级片黄色录像| 精品理论电影在线| 久久精品国亚洲| 久久国产精品波多野结衣| 综合久久十次| 奇米四色中文综合久久| 亚洲性生活大片| 成人精品免费看| 热re99久久精品国产99热| 淫片在线观看| 亚洲综合激情网| 人妻少妇精品久久| 丁香婷婷久久| 亚洲国产精品va在看黑人| 欧美成人午夜精品免费| 99视频精品全国免费| 97人人爽人人喊人人模波多| 中国a一片一级一片| 丁香一区二区三区| 亚洲自拍三区| 少妇淫片在线影院| 欧美一级二级在线观看| 国产原创剧情av| 久久精品国产www456c0m| 欧美精品一本久久男人的天堂| 日产精品久久久久久久| 蜜臀久久99精品久久久久宅男 | 亚洲欧洲美洲av| 欧美一区二区在线视频| 九色porny自拍视频| 欧美福利视频| 国产欧美日韩免费看aⅴ视频| 天天干天天舔天天射| 亚洲老妇xxxxxx| 在线免费视频一区| 亚洲一区二区三区中文字幕在线观看| 一二美女精品欧洲| 国产精品21p| 成人高清视频在线观看| 亚洲日本欧美在线| 国产福利片在线观看| 欧美成人三级在线| 黄色香蕉视频在线观看| 人禽交欧美网站| 久久综合九色99| 青草影视电视剧免费播放在线观看| 欧美一a一片一级一片| 国产精品无码一区二区三区免费| 欧美一区91| 国产精品直播网红| 成年在线电影| 欧美性一级生活| 免费观看一级一片| 99国产精品| 国产精品亚洲一区| av丝袜在线| 欧美成人福利视频| 欧洲猛交xxxx乱大交3| 精品一区二区在线观看| 香蕉久久免费影视| 免费在线成人激情电影| 亚洲无线码在线一区观看| 日批视频免费在线观看| 久久综合狠狠综合久久综合88| 国产人妻777人伦精品hd| 极品束缚调教一区二区网站| 最新亚洲国产精品| 亚洲天堂五月天| 日本一区二区视频在线| 国产精品一区二区羞羞答答| 日本成人小视频| 国产精品久久中文| 日本蜜桃在线观看| 日韩一区二区三区四区 | 欧美日韩第一| 国产91免费看片| www在线免费观看| 欧美另类videos死尸| 国产精品视频一区二区三 | 在线观看美女网站大全免费| 欧美日韩不卡在线| 久久精品视频免费在线观看| 粉嫩av亚洲一区二区图片| 国产亚洲精品久久久久久久| 国产精品chinese在线观看| 久久影院在线观看| 欧美自拍第一页| 色婷婷激情综合| 国产成人av免费在线观看| 国产福利一区二区三区在线视频| 97在线国产视频| 精品日韩欧美一区| 91免费看片网站| 1024在线看片你懂得| 亚洲欧洲xxxx| av手机免费看| 色综合久久中文字幕综合网 | 亚洲亚洲精品在线观看| 国产激情第一页| 久久精品99国产精品| 最新视频 - x88av| 综合干狼人综合首页| 国产精品视频久久久久| 欧美jizz18hd性欧美| 精品999久久久| 中文字幕视频一区二区| 亚洲在线成人精品| 免费黄色片网站| 国产成人aaaa| 99国产精品白浆在线观看免费| 亚洲制服欧美另类| 亚洲自拍偷拍色片视频| 我爱我色成人网| 欧美大片第1页| 成年人在线观看视频| 精品不卡在线视频| 91精东传媒理伦片在线观看| 欧美性20hd另类| 国产一二三四区| 久久你懂得1024| 岛国av免费观看| 老汉av免费一区二区三区| 人人妻人人澡人人爽欧美一区双 | 精品一区二区久久久| 成人毛片视频网站| 欧美 日韩 国产 一区| 日韩精品一线二线三线| 国产精品极品国产中出| 国产日韩在线一区| 欧美aaa大片视频一二区| 97精品国产97久久久久久免费 | 欧美国产日韩一区二区在线观看| 欧美一区,二区| 欧美色窝79yyyycom| 欧美一区二区三区爽爽爽| 国产日韩成人精品| 久久国产精品影院| 91丨九色丨蝌蚪丨老版| 极品白嫩的小少妇| 国产精品123| 国内av一区二区| 秋霞成人午夜伦在线观看| 日本精品一区二区三区四区| 欧美精品91| 亚洲区成人777777精品| 狠狠综合久久av一区二区蜜桃 | 国产精品直播网红| 欧美影视资讯| 日韩av毛片网| 超碰超碰人人人人精品| 91精品国产色综合久久不卡98口| 黄色免费在线看| 久久精品99久久久久久久久| 欧美另类自拍| 亚洲人成电影在线播放| 天天射,天天干| 欧美精品一区在线观看| 精产国品一区二区| 日本韩国欧美国产| 这里只有精品免费视频| 91黄视频在线观看| 中文字幕免费视频观看| 欧美在线观看禁18| 国产精品欧美综合亚洲| 欧美丝袜自拍制服另类| 久久国产乱子伦精品| 欧美日韩国产一级片| 中文字幕在线观看免费| 777奇米成人网| 国产成a人亚洲精v品无码 | 巨乳女教师的诱惑| 日韩精品免费视频人成| 亚洲黄色小视频在线观看| 亚洲制服少妇| 日本久久久久久久久久久久| 日韩福利电影在线| 欧美三级理论片| 激情欧美日韩一区二区| 精品人妻无码中文字幕18禁| av成人动漫在线观看| 中文字幕日韩三级片| 国产欧美日韩三区| 丝袜 亚洲 另类 欧美 重口| 一区二区三区四区五区视频在线观看| 亚洲国产精品成人无久久精品 | 一区二区视频网站| 日韩一区二区三区在线观看| 亚洲欧美日韩免费| 亚洲黄页视频免费观看| 成人高潮成人免费观看| 九色91av视频| xxxxxx欧美| 成人夜晚看av| 加勒比色综合久久久久久久久| 久久久com| 先锋资源久久| 久久亚洲中文字幕无码| 日韩av一级电影| 日本人dh亚洲人ⅹxx| www.av亚洲| 婷婷丁香综合网| 中文字幕在线观看不卡| 日产欧产va高清| 欧美性猛交一区二区三区精品| 亚洲精品国产精品国自产网站按摩| 日韩精品一区二区三区在线| 色窝窝无码一区二区三区| 正在播放亚洲1区| 50度灰在线| 国产精品美女免费| 精品视频在线一区| 色一情一乱一伦一区二区三欧美| 99精品综合| 国产真实乱子伦| 裸体在线国模精品偷拍| 扒开伸进免费视频| 国产精品乱码一区二区三区软件| 日产电影一区二区三区| 欧美一区二区在线视频| 国产高清免费在线播放| 欧美成人h版在线观看| 一区二区乱码| 国产精品成人观看视频免费| 国产午夜一区| 精品国产一二三四区| 国产一区二区三区四区五区入口| av中文字幕免费观看| 亚洲夂夂婷婷色拍ww47 | 欧美mv和日韩mv国产网站| 久久av少妇| 美女av一区二区| av成人亚洲| 久久久久久久久一区二区| 亚洲午夜一区| 日本少妇一级片| 一区二区三区资源| 国产精品久久欧美久久一区| 国产亚洲精品美女| av人人综合网| 亚洲一区二区三区四区在线播放| 精品欧美激情在线观看| 久久精品99国产| 99国产精品国产精品毛片| 亚洲欧美另类日本| 色先锋资源久久综合| 日本韩国一区| 国内精品小视频在线观看| 亚洲精品一区二区三区中文字幕| 亚洲欧美一二三| 极品美女销魂一区二区三区| 91导航在线观看| 欧美日韩在线播放三区四区| 国产精品99999| 欧美性受xxx| 鲁大师精品99久久久| 亚洲美免无码中文字幕在线| av在线一区二区| 天天爽夜夜爽夜夜爽精品| 日韩电影中文字幕一区| 美女露胸视频在线观看| 蜜桃av噜噜一区二区三| 免费看的黄色欧美网站| 中文字幕在线免费看线人| 欧美日韩一二三四五区| 黄色片免费在线| 国产精品网址在线| **女人18毛片一区二区| 色91精品久久久久久久久| 亚洲欧美日韩国产成人精品影院| 超碰在线观看99| 97高清免费视频| 国产一卡不卡| 麻豆三级在线观看| 自拍偷拍亚洲激情| 91亚洲视频在线观看| 欧美成人激情图片网| 国产一区调教| 亚洲熟妇无码一区二区三区| 久久久久久久一区| 在线观看免费视频一区| xvideos亚洲人网站| www.成人| 国产视频九色蝌蚪| 久久精品视频在线免费观看| 在线观看国产小视频| 欧美日韩成人在线观看| 久久久久97| 青青草原av在线播放| 国产偷国产偷精品高清尤物| 一级黄在线观看| 91国产美女在线观看| heyzo久久| 亚洲av无码久久精品色欲| 一本色道**综合亚洲精品蜜桃冫| 米奇精品一区二区三区| 国产有色视频色综合| 日韩电影免费在线| 久草网站在线观看| 亚洲美女av网站| 日韩免费在线电影| 免费av手机在线观看| 国产丝袜美腿一区二区三区| 五月婷婷六月婷婷| 欧美激情图片区| 欧美精品一二| 亚洲av综合色区无码另类小说| 日韩欧美国产骚| 亚洲电影视频在线| 久久99蜜桃综合影院免费观看| 免费成人你懂的| 久热这里只有精品6| 日韩精品在线观看一区二区| 亚洲成人1区|