




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、#include<stdio.h>#include<stdlib.h>#include<string.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define OVERFLOW -2#define MAXSTRLEN 255typedef int ElemType;typedef int Status;typedef unsigned char SStringMAXSTRLEN+1;/串賦值操作Status StrAssign(SString T,char chars)/ 生成一個(gè)其值
2、等于chars的串Tint i; if(strlen(chars)>MAXSTRLEN)return ERROR; T0=strlen(chars);for(i=0;i<=T0;i+)Ti+1=charsi; return OK;/StrAssign/輸出串void StrPrint(SString S)int i; for(i=1;i<=S0;i+)printf("%c",Si);printf("n");/PrnStr/串復(fù)制操作Status StrCopy(SString T,SString S) / 由串S復(fù)制得串T int i;
3、 for(i=1;i<=S0;i+) Ti=Si;T0=S0; return OK;/StrCopy/判空操作Status StrEmpty(SString S)if(S0=0) return OK; else return ERROR; /StrEmpty/串比較操作int StrCompare(SString S,SString T) int i; for(i=1;i<=S0&&i<=T0;+i) if(Si!=Ti) return Si-Ti; return S0-T0; /StrCompare/求長度操作int StrLength(SString S)
4、return S0;/StrLength/串連接操作Status Concat(SString T,SString S1,SString S2)int i;Status uncut;if(S10+S20<=MAXSTRLEN) for(i=1;i<=S10;i+)Ti=S1i;for(i=1;i<=S20;i+) TS10+i=S2i;T0=S10+S20;uncut=TRUE;else if(S10<MAXSTRLEN)for(i=1;i<=S10;i+)Ti=S1i;for(i=1;i<=MAXSTRLEN-S10;i+)TS10+i=S2i;T0=MA
5、XSTRLEN; uncut=FALSE; elsefor(i=0;i<=MAXSTRLEN;i+)Ti=S1i;uncut=FALSE;return uncut;/Concat/取子串操作Status SubString(SString Sub,SString S,int pos,int len)int i;if(pos<1|pos>S0|len<0|len>S0-pos+1)return ERROR;for(i=1;i<=len;i+)Subi=Spos+i-1;Sub0=len;return OK;/SubString/求子串位置操作int Index
6、(SString S,SString T,int pos) int i,j; i=pos; j=1; while(i<=S0&&j<=T0) if(Si=Tj) +i; +j; else/ 指針后退重新開始匹配 i=i-j+2; j=1; if(j>T0) return i-T0;/匹配成功 return 0; /匹配失敗/Index/串插入操作Status StrInsert(SString S,int pos,SString T)/ 初始條件: 串S和T存在,1posStrLength(S)+1 / 操作結(jié)果: 在串S的第pos個(gè)字符之前插入串T。完全插入
7、返回TRUE,部分插入返回FALSEint i; if(pos<1|pos>S0+1)return ERROR; if(S0+T0<=MAXSTRLEN) / 完全插入for(i=S0;i>=pos;i-)Si+T0=Si; for(i=pos;i<pos+T0;i+) Si=Ti-pos+1; S0=S0+T0; return TRUE;elsefor(i=MAXSTRLEN;i>=pos;i+)Si=Si-T0;for(i=pos;i<pos+T0;i+)Si=Ti-pos+1;S0=MAXSTRLEN;return FALSE;/StrInser
8、t/串刪除操作Status StrDelete(SString S,int pos,int len)/ 初始條件: 串S存在,1posStrLength(S)-len+1 / 操作結(jié)果: 從串S中刪除第pos個(gè)字符起長度為len的子串int i;if(pos<1|pos>S0-len+1|len<0)return ERROR;for(i=pos+len;i<=S0;i+)Si-len=Si;S0-=len;return OK;/StrDeletevoid main()int pos,len; SString S1,S2,S3,T,Sub;char a10,b10;pri
9、ntf("輸入兩個(gè)串分別賦值給S1,S2(串長均小于10):n"); scanf("%s%s",a,b);if(StrAssign(S1,a)&&StrAssign(S2,b)printf("n由串S1復(fù)制得串T:");StrCopy(T,S1);/printf("%sn",S2+1);錯(cuò)誤的!StrPrint(T);if(StrEmpty(T)=1) printf("串T為空!n"); else printf("串T非空!n");printf("n
10、比較串S1,S2:n");if(StrCompare(S1,S2)>0)printf("S1>S2n");else if(StrCompare(S1,S2)<0)printf("S1<S2n");elseprintf("S1=S2n");printf("n連接串S1,S2得串S3:");if(Concat(S3,S1,S2)=1)StrPrint(S3);elseprintf("串連接失??!");printf("串S3的長度為%d:n",St
11、rLength(S3);printf("n用Sub返回串S3中第pos個(gè)字符起長度為len的字符:n");printf("輸入pos,len的值:n");scanf("%d%d",&pos,&len);if(SubString(Sub,S3,pos,len)=1)printf("輸出串Sub:");StrPrint(Sub);elseprintf("序號不合法,取子串失敗!n");printf("n求串Sub在串S3中的位置:n");if(Index(S3,S
12、ub,pos)printf("pos值為%dn",pos);elseprintf("pos值不合法!n");printf("n在串S1的第pos位置插入串S2n");printf("輸入pos的值:n");scanf("%d",&pos);if(StrInsert(S1,pos,S2)=1)printf("輸出串S1:");StrPrint(S1);elseprintf("插入失??!n");printf("n從串S1中刪除第pos位置起長
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省鄭州市十九中2025屆高二下化學(xué)期末考試試題含解析
- 2025屆江西省上饒市“山江湖”協(xié)作體化學(xué)高一下期末監(jiān)測試題含解析
- 2025屆山東省青島市58中高二下化學(xué)期末統(tǒng)考試題含解析
- 安徽省滁州市二中2025屆化學(xué)高二下期末質(zhì)量檢測模擬試題含解析
- 中國軟件測試培訓(xùn)行業(yè)發(fā)展監(jiān)測及發(fā)展趨勢預(yù)測報(bào)告
- 福建省福州市羅源第一中學(xué)2025屆高二化學(xué)第二學(xué)期期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 中國園區(qū)信息化行業(yè)運(yùn)行態(tài)勢及未來發(fā)展趨勢預(yù)測報(bào)告
- 2021-2026年中國航海電子設(shè)備行業(yè)全景評估及投資規(guī)劃建議報(bào)告
- 中國尿酸行業(yè)市場調(diào)查報(bào)告
- 中國海藻肥行業(yè)調(diào)查報(bào)告
- 2025年4月自考03346項(xiàng)目管理試題
- 艾梅乙反歧視培訓(xùn)課件
- 2025安全生產(chǎn)月一把手講安全公開課三十二(91P)
- 2025課件:紅色基因作風(fēng)建設(shè)七一黨課
- 在線網(wǎng)課學(xué)習(xí)課堂《人工智能(北理 )》單元測試考核答案
- 康復(fù)科護(hù)理管理制度
- 2024年度醫(yī)患溝通課件
- 《中國近現(xiàn)代史綱要(2023版)》課后習(xí)題答案合集匯編
- 門式腳手架專項(xiàng)施工方案完成
- 第6章_懸移質(zhì)泥沙運(yùn)動2014
- 湘美版美術(shù)四年級下冊教案-12.色彩取樣1
評論
0/150
提交評論