/*
*檔名稱:1.cpp
*完成日期:2023年10月21日
*版本號:v1.0
*問題描述:定義順序串的儲存結構,實現其基本運算,並完成測試。
要求:
1、標頭檔案sqstring.h中定義資料結構並宣告用於完成基本運算的函式。對應基本運算的函式包括:
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); //輸出串
2、在sqstring.cpp中實現這些函式
3、在main函式中完成測試,包括如下內容:
(1)建立串s:abcdefghijklmn和串s1:123
(2)輸出串s和s1
(3)輸出串s的長度
(4)在串s的第9個字元位置插入串s1而產生串s2
(5)輸出串s2
(6)刪除串s第2個字元開始的5個字元而產生串s2
(7)輸出串s2
(8)將串s第2個字元開始的5個字元替換成串s1而產生串s2
(9)輸出串s2
(10)提取串s的第2個字元開始的10個字元而產生串s3
(11)輸出串s3
(12)將串s1和串s2連線起來而產生串s4
(13)輸出串s4
*輸入描述:無
*程式輸出:完成測試後的執行結果
*/
#include #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); //輸出串
#include "sqstring.h"
void strassign(sqstring &s,char cstr) //字串常量cstr賦給串s
void strcopy(sqstring &s,sqstring t) //串t複製給串s
,objects1=; 作為目標串
strassign(s,objects);
strassign(s1,objects1); //建立串s:abcdefghijklmn和串s1:123
printf("建立的串s為:"); //輸出串s和s1
dispstr(s);
printf("建立的串s1為:");
dispstr(s1);
printf("\n");
printf("串s的長度為:%d\n\n",strlength(s)); //輸出串s的長度
s2=insstr(s,9,s1); //在串s的第9個字元位置插入串s1而產生串s2
printf("插入操作後串s2為:");
dispstr(s2); //輸出串s2
printf("\n");
s2=delstr(s,2,5); //刪除串s第2個字元開始的5個字元而產生串s2
printf("刪除操作後串s2為:");
dispstr(s2); //輸出串s2
printf("\n");
s2=repstr(s,2,5,s1); //將串s第2個字元開始的5個字元替換成串s1而產生串s2
printf("替換操作後串s2為:");
dispstr(s2); //輸出串s2
printf("\n");
s3=substr(s,2,10); //提取串s的第2個字元開始的10個字元而產生串s3
printf("提取操作後串s3為:");
dispstr(s3);
printf("\n");
s4=concat(s1,s2); //將串s1和串s2連線起來而產生串s4
printf("連線操作後串s4為:");
知識點總結:
順序串的基本運算
心得體會:
通過順序串演算法庫的建立,鞏固了基本運算及其實現過程。
第八周專案1建立演算法庫順序串
問題及描述 輸入描述 sqstring.h ifndef sqstring h included define sqstring h included define maxsize 100 最多的字元個數 typedef struct sqstring void strassign sqstring...
第八周專案1 建立順序串演算法庫
檔名稱 shunxuchuan.cpp 完成日期 2015年10月30日 版本號 vc 6.0 問題描述 建立順序串演算法庫 輸入描述 無 程式輸出 子串,串連線,串刪除,串插入等 ifndef head h included define head h included include inclu...
第八周專案1 建立順序串演算法庫
問題及 檔名稱 專案1.cbp 作 者 董雪 完成日期 2016年10月20日 版 本 號 v1.0 問題描述 定義順序串的儲存結構,實現其基本運算,並完成測試。輸入描述 無 程式輸出 測試資料 1.標頭檔案sqstring.h ifndef sqstring h included define s...