第八周 專案三(3) 字元的刪除

2021-07-06 05:51:53 字數 1880 閱讀 1705

*題目描述:從串s中刪除其值等於c的所有字元。

如從message中刪除『e』,得到的就是mssag

***1:演算法庫中的標頭檔案部分

#ifndef sqstring_h_included

#define sqstring_h_included

#define maxsize 100 //最多的字元個數

typedef struct

sqstring;

void strassign(sqstring &s,char cstr); //字串常量cstr賦給串s

void strcopy(sqstring &s,sqstring t); //串t複製給串s

bool strequal(sqstring s,sqstring t); //判串相等

int strlength(sqstring s); //求串長

sqstring concat(sqstring s,sqstring t); //串連線

sqstring substr(sqstring s,int i,int j); //求子串

sqstring insstr(sqstring s1,int i,sqstring s2); //串插入

sqstring delstr(sqstring s,int i,int j) ; //串刪去

sqstring repstr(sqstring s,int i,int j,sqstring t); //串替換

void dispstr(sqstring s); //輸出串

#endif // sqstring_h_included

***2:演算法庫中部分函式的實現

#include #include #include "sqstring.h"

void strassign(sqstring &s,char cstr) //s為引用型引數

void strcopy(sqstring &s,sqstring t) //s為引用型引數

{ int i;

for (i=0;is.length || j<0 || i+j-1>s.length)

return str; //引數不正確時返回空串

for (k=i-1;ks1.length+1) //引數不正確時返回空串

return str;

for (j=0;js.length || i+j>s.length+1) //引數不正確時返回空串

return str;

for (k=0;ks.length || i+j-1>s.length) //引數不正確時返回空串

return str;

for (k=0;k0)

{ for (i=0;i

#include #include "sqstring.h"

void dellchar(sqstring &s, char c)

{ int k=0, i=0; //k記錄值等於c的字元個數

*知識點總結及心得:

這乙個函式是本專案的核心部分, if後面跟著的是對要刪除的字元的查詢,當s.date【i】不是我們要查詢的字元時,繼續往後查詢,最後當查詢完成後,不要忘記將串的長度改為我們刪除完字元之後的長度,因為,在main函式中我們還要去執行輸出的函式。

第八周 專案3 2 字元倒置

檔名稱 main.cpp 作者 王超 完成日期 2015年10月23日 問題描述 將字串中所有字元倒過來重新排序 include include sqstring.h int main include include include sqstring.h void invert sqstring s...

第八周 專案3 3 刪除字元

檔名稱 main.cpp 作者 王超 完成日期 2015年10月23日 問題描述 從串s 中刪除其值等於c的所有字元 include include sqstring.h int main include include include sqstring.h void dellchar sqstri...

第八周專案三

all right reserved.檔名稱 sq.cpp 完成日期 2017年10月26日 版本號 v1.0 問題描述 順序串演算法 輸入描述 標準函式輸入 程式輸出 標準函式輸出 all right reserved.檔名稱 main.cpp 完成日期 2017年10月26日 版本號 v1.0 ...