




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(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)/ 生成一個其值
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個字符之前插入串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個字符起長度為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("輸入兩個串分別賦值給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);錯誤的!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個字符起長度為len的字符:n");printf("輸入pos,len的值:n");scanf("%d%d",&pos,&len);if(SubString(Sub,S3,pos,len)=1)printf("輸出串Sub:");StrPrint(Sub);elseprintf("序號不合法,取子串失?。");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("插入失?。");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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- YC/Z 602-2023煙草秸稈生物有機(jī)肥生產(chǎn)技術(shù)指南
- YC/T 597-2023打葉復(fù)烤生產(chǎn)線工藝性能測評
- 2025初三升高一數(shù)學(xué)暑假銜接講義25講含答案(必修一內(nèi)容)3.3 函數(shù)的奇偶性
- 阿莫西林膠囊崩解時限檢查侯秋苑17課件
- 考研復(fù)習(xí)-風(fēng)景園林基礎(chǔ)考研試題附參考答案詳解【模擬題】
- 考研復(fù)習(xí)-風(fēng)景園林基礎(chǔ)考研試題(完整版)附答案詳解
- 風(fēng)景園林基礎(chǔ)考研資料試題及參考答案詳解【鞏固】
- 《風(fēng)景園林招投標(biāo)與概預(yù)算》試題A帶答案詳解(完整版)
- 2023年上海市上海市松江區(qū)方松街道招聘社區(qū)工作者真題附詳解
- 2025-2026年高校教師資格證之《高等教育法規(guī)》通關(guān)題庫附答案詳解(綜合題)
- 中小學(xué)教學(xué)視導(dǎo)量化考核表
- 2024-2030年中國高速公路服務(wù)區(qū)行業(yè)市場發(fā)展分析及前景趨勢與投資價值研究報告
- 2023年山東省濟(jì)南市中考道德與法治真題(原卷版)
- 2024-2025學(xué)年中職語文基礎(chǔ)知識-字詞解析
- HG∕T 4686-2014 液氨泄漏的處理處置方法
- 租賃國企用地合同范本
- 2024年江蘇省南京玄武區(qū)八下英語期末考試試題含答案
- 城市更新暨老舊小區(qū)改造二期項目-初步設(shè)計說明書
- 黑龍江省高校畢業(yè)生“三支一扶”計劃招募筆試真題2021
- 職業(yè)道德與法治 第13課《學(xué)會依法維權(quán)》第二框課件《崇尚程序正義》
- 專業(yè)技術(shù)人員年度考核情況登記表
評論
0/150
提交評論