精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

91日韩在线播放| 亚洲成人网av| 97超碰人人爱| 农村少妇久久久久久久| 亚洲欧美日韩视频二区| 亚洲色图综合久久| 91插插插影院| 樱桃视频成人在线观看| 国产精品久久久一本精品| 91丝袜脚交足在线播放| 日韩综合在线观看| 欧美三级乱码| 在线观看亚洲视频| 国产精品手机在线观看| 欧美高清xxx| 精品免费在线视频| 丰满女人性猛交| 国产一区电影| 高清不卡一区二区| 国产精品永久免费视频| 黄色在线观看国产| 国产精品久久| 久久精品视频在线播放| 西西444www无码大胆| 婷婷综合国产| 欧美久久婷婷综合色| 国产精品无码专区av在线播放| 国产suv一区二区三区| 国产精品丝袜在线播放| 欧美人伦禁忌dvd放荡欲情| 国产三区在线视频| 96av在线| 亚洲激情一二三区| 亚洲欧美日韩在线综合 | 粉嫩一区二区三区四区公司1| 色素色在线综合| 国产午夜福利100集发布| а天堂中文在线官网| 国产精品午夜在线| 日本视频一区在线观看| 午夜一区在线观看| 99精品国产一区二区三区不卡| 999在线免费观看视频| 国产精品视频在线观看免费| 琪琪一区二区三区| 日韩av免费网站| 秋霞精品一区二区三区| 99视频精品免费观看| 97免费视频在线播放| 亚洲精品在线观看av| 欧美午夜久久| 久久久久久久国产精品| 激情综合网五月天| 国内久久精品| 午夜精品福利在线观看| 日韩三级视频在线| 国产精品久久久久毛片大屁完整版| 欧美日韩福利视频| 日韩激情一区二区三区| 国内自拍视频一区二区三区| 欧美日本亚洲视频| 国产精品2020| 亚洲自拍另类| 国产suv精品一区二区| 无码人妻精品一区二区蜜桃色欲| 美女尤物久久精品| 国产精品久久久久久久久久99| 国产成人麻豆免费观看| 久久国产成人精品| 日韩中文有码在线视频| 91麻豆精品成人一区二区| 午夜激情久久| 欧美极品少妇与黑人| 99视频在线看| 日韩av不卡一区二区| 成人激情黄色网| 朝桐光av在线一区二区三区| 成人av在线一区二区三区| 久久99国产精品| 北岛玲日韩精品一区二区三区| 国产精品久久久久aaaa樱花| 国产精品88久久久久久妇女| 美女网站视频在线| 色哟哟国产精品免费观看| www.夜夜爽| 99久热这里只有精品视频免费观看| 日韩av一区在线观看| xxxxx99| 午夜精品剧场| 欧美一级片在线播放| 中文字幕永久在线观看| 国产成人午夜精品影院观看视频| 国内视频一区二区| 成年人在线观看视频| 一区二区三区欧美日韩| 日韩久久一级片| 一区二区三区日本视频| 亚洲福利视频免费观看| www成人啪啪18软件| 欧美日韩日本国产亚洲在线| 日韩免费精品视频| 精品毛片在线观看| 国产婷婷色一区二区三区四区 | 成人精品久久av网站| 少妇人妻偷人精品一区二区 | 久久久久成人片免费观看蜜芽 | 中文字幕资源在线观看| 久久99国产精品久久99大师 | av免费播放网站| 精品动漫3d一区二区三区免费版| 国产精品久久一| 人成网站在线观看| 亚洲天堂网中文字| 久久久国产欧美| 国产精品毛片视频| 日韩视频―中文字幕| 久久精品视频7| 国产99精品在线观看| 日本中文不卡| 在线最新版中文在线| 日韩免费成人网| 国产真人真事毛片视频| 乱人伦精品视频在线观看| 99re国产视频| 成人福利在线观看视频| 一本大道久久a久久综合婷婷| 一区二区在线免费观看视频| 青青草成人影院| 奇米四色中文综合久久| 日韩在线一区二区三区四区| 亚洲欧洲制服丝袜| 亚洲欧洲日本精品| 欧美日韩中文一区二区| 热草久综合在线| 五月婷婷六月丁香综合| 亚洲日本青草视频在线怡红院| 在线免费视频a| 免费一区二区三区视频导航| 98精品国产高清在线xxxx天堂| 成 人片 黄 色 大 片| 亚洲色图制服诱惑| 加勒比av中文字幕| 我不卡手机影院| 国产伦精品免费视频| 在线免费看黄网站| 欧美性xxxxxxxx| 黄大色黄女片18免费| 日日夜夜一区二区| 久久精品国产美女| 日本黄色免费在线| 精品视频偷偷看在线观看| 国产无遮挡呻吟娇喘视频| 久久影院电视剧免费观看| wwwxxx黄色片| 欧美日韩伦理| 91精品视频免费看| 影音先锋男人在线资源| 日韩欧美不卡一区| 日本少妇全体裸体洗澡| 99在线热播精品免费| 黄色大片中文字幕| 色综合www| 国产精品日韩专区| 久草中文在线| 欧美电影免费观看完整版| 中文在线观看免费网站| xf在线a精品一区二区视频网站| av免费播放网址| 精品久久久久久久| 成人自拍性视频| 免费影视亚洲| 亚洲欧美一区二区精品久久久| 精品人妻一区二区三区潮喷在线 | 亚洲ai欧洲av| 91精品国产自产观看在线| 久久色免费在线视频| 亚洲精品一区二区三区新线路| 婷婷开心久久网| 亚洲图片第一页| 国产凹凸在线观看一区二区| 韩国日本在线视频| 亚洲成人一区| 精品久久久久久一区| 欧美va在线观看| 久久夜色撩人精品| 色wwwwww| 欧美日韩国产在线播放网站| 黄色一级视频在线观看| 久久久久久久久蜜桃| 午夜宅男在线视频| 国产精品mm| 日韩精品欧美专区| 欧美一级大片在线视频| 国产91精品久| 在线看三级电影| 在线观看日韩www视频免费| 亚洲第一成人av| 在线看国产一区| 欧美成欧美va| 欧美国产精品中文字幕| 久久久无码人妻精品无码| 日韩精品成人一区二区在线| 男女裸体影院高潮| 成人情趣视频网站| 国产另类自拍| 国产精品亚洲四区在线观看 | 亚洲免费黄色网址| 亚洲欧美视频一区| 亚洲图片第一页| 久久综合色天天久久综合图片| 天天操精品视频| 丝袜a∨在线一区二区三区不卡| 毛片在线视频观看| 日产精品一区二区| 蜜桃导航-精品导航| 亚洲精选av| 成人在线小视频| jizzyou欧美16| 欧美一区二区三区……| av成人影院在线| 欧美国产日韩中文字幕在线| 秋霞影院午夜丰满少妇在线视频| 亚洲品质视频自拍网| 天天干天天摸天天操| 日韩一级高清毛片| 亚洲自拍偷拍另类| 欧美丝袜丝交足nylons图片| 黄色一级片免费在线观看| 亚洲国产一区二区视频| 欧洲猛交xxxx乱大交3| 中文字幕视频一区二区三区久| 精品无码人妻一区二区免费蜜桃| 92国产精品观看| 亚洲自拍偷拍精品| 国产成人免费在线观看不卡| www.cao超碰| 蜜桃一区二区三区在线| 亚洲欧美另类动漫| 免费观看成人鲁鲁鲁鲁鲁视频| aaa毛片在线观看| 亚洲综合二区| www.浪潮av.com| 亚洲专区一区| 动漫av网站免费观看| 性高湖久久久久久久久| 欧美日韩亚洲一| 性久久久久久| 国产又大又黄又粗的视频| 久久综合九色| 欧美国产日韩在线播放| 日韩精品亚洲一区| 日韩免费高清在线| 免费在线观看一区二区三区| www.色偷偷.com| 另类欧美日韩国产在线| 亚洲综合日韩欧美| 久久99久久99| 樱花草www在线| 国产乱子伦一区二区三区国色天香| 日本中文字幕影院| 国产精品一二一区| 大尺度在线观看| 91网页版在线| 无码人妻精品一区二区中文| 国产婷婷色一区二区三区四区| 国产成人一区二区在线观看| 国产精品素人一区二区| 亚洲色图100p| 夜色激情一区二区| 中文字幕亚洲精品一区| 在线视频一区二区三区| 欧美三级网站在线观看| 在线91免费看| 亚洲AV无码精品自拍| 日韩激情片免费| xxxxx日韩| 精品国产欧美一区二区五十路 | 欧美国产一级| 中国丰满熟妇xxxx性| 亚洲中午字幕| 99国产精品久久久久久| 成人免费毛片片v| 国产三级av在线播放| 中文字幕日韩一区二区| 日韩免费在线视频观看| 色94色欧美sute亚洲线路一ni| 91麻豆成人精品国产| 日韩欧美国产成人一区二区| 偷拍精品一区二区三区| 色噜噜狠狠色综合网图区| 在线观看中文字幕的网站| 欧美制服第一页| 99tv成人影院| 欧美lavv| 韩日欧美一区| 日本xxxx黄色| 99久久亚洲一区二区三区青草| 午夜国产福利视频| 欧美日韩中文字幕在线视频| 国产又大又黑又粗| 亚洲男人天堂网| 黄色免费网站在线| 欧美一区视频在线| 超碰在线亚洲| 大地资源第二页在线观看高清版| 国产乱码精品| 男人添女人荫蒂国产| 欧美国产精品一区二区三区| 五月天婷婷丁香| 91麻豆精品国产91| 国产视频第一区| 97国产一区二区精品久久呦 | 日韩一区精品字幕| 亚洲图片综合网| 亚洲另类中文字| 亚洲系列第一页| 亚洲人高潮女人毛茸茸| 国内在线免费视频| 亚洲最大成人在线| 日韩欧美1区| 欧美精品第三页| 97se亚洲国产综合自在线| 老女人性淫交视频| 欧美猛男男办公室激情| 国内精品一区视频| 国内自拍欧美激情| av成人男女| 国内外成人激情免费视频| 奇米888四色在线精品| 无码人妻aⅴ一区二区三区| 亚洲精品国产精品乱码不99| 亚洲图片小说视频| 中文字幕一区电影| 国产在线|日韩| 日本不卡二区高清三区| 免费亚洲一区| 特级西西人体wwwww| 午夜精品久久久久影视| 亚洲精品无码久久久| 九九九久久国产免费| 精品三级国产| 国产人妻互换一区二区| 国产一区二区三区久久久| 操她视频在线观看| 欧美群妇大交群的观看方式| 91社区在线观看播放| 国产精品夜间视频香蕉| 日韩大片在线播放| 波多野结衣xxxx| 亚洲欧洲av另类| 99精品免费观看| 九九热99久久久国产盗摄| 久久丁香四色| 男人天堂av片| 26uuu国产日韩综合| 无码人妻熟妇av又粗又大| 伊人激情综合网| **精品中文字幕一区二区三区| 中国老女人av| zzijzzij亚洲日本少妇熟睡| 五月天婷婷久久| 亚洲午夜精品久久久久久久久久久久| 卡通欧美亚洲| 亚洲一区二区精品在线| 国产制服丝袜一区| 久久久久无码国产精品不卡| 亚洲国产成人精品女人久久久| 免费高潮视频95在线观看网站| 欧美激情第六页| 六月丁香婷婷色狠狠久久| 欧美片一区二区| 亚洲国产精品热久久| 欧美激情护士| 日韩欧美亚洲区| 国产乱码精品一区二区三| 国产精彩视频在线观看| 亚洲欧洲国产伦综合| 亚洲成a人片777777久久| 亚洲精品久久久久久久蜜桃臀| 久久久精品国产免大香伊| 91国内精品视频| 国内外成人免费激情在线视频网站| 婷婷成人综合| 天堂在线一区二区三区| 亚洲国产精品嫩草影院| 国产视频在线看| 99re在线视频上| 丝袜诱惑亚洲看片| 久久精品一级片| 国产一区二区三区丝袜| 日韩一区二区三区精品| 日本精品一区二区三区四区| 中文字幕一区二区视频| 粉嫩小泬无遮挡久久久久久| 亚洲国产精品福利| 91精品店在线| 日韩av新片网| 国产精品成人免费| 日韩有码第一页| 91视频-88av|