




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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/求長(zhǎng)度操作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è)字符起長(zhǎng)度為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(串長(zhǎng)均小于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的長(zhǎng)度為%d:n",St
11、rLength(S3);printf("n用Sub返回串S3中第pos個(gè)字符起長(zhǎng)度為len的字符:n");printf("輸入pos,len的值:n");scanf("%d%d",&pos,&len);if(SubString(Sub,S3,pos,len)=1)printf("輸出串Sub:");StrPrint(Sub);elseprintf("序號(hào)不合法,取子串失??!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位置起長(zhǎng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何提升農(nóng)業(yè)電商用戶體驗(yàn)試題及答案
- 生鮮供應(yīng)鏈中的農(nóng)產(chǎn)品冷鏈物流損耗控制與物流技術(shù)創(chuàng)新研究報(bào)告
- 環(huán)境友好型材料在新能源汽車中的運(yùn)用試題及答案
- 2025南航招聘面試問題及答案
- 2025民航招飛面試常見問題及答案
- 2025量化分析師面試試題及答案
- 新媒體在農(nóng)業(yè)電商中的應(yīng)用研究試題及答案
- 報(bào)考必看土木工程師考試試題及答案
- 農(nóng)業(yè)廢棄物資源化利用與循環(huán)經(jīng)濟(jì)發(fā)展報(bào)告
- 幼兒園數(shù)學(xué)趣味運(yùn)算試題及答案
- 環(huán)境藝術(shù)設(shè)計(jì)職業(yè)生涯規(guī)劃書
- 數(shù)據(jù)網(wǎng)-IPRAN含IPRAN基礎(chǔ)組網(wǎng)和IPRAN高級(jí)知識(shí)
- 上市公司執(zhí)行企業(yè)會(huì)計(jì)準(zhǔn)則案例解析-中國(guó)證監(jiān)會(huì)會(huì)計(jì)部編
- 2《建筑機(jī)械使用安全技術(shù)規(guī)程》JGJ33-2012
- GB/T 4745-2012紡織品防水性能的檢測(cè)和評(píng)價(jià)沾水法
- GB/T 17791-1999空調(diào)與制冷用無縫銅管
- 項(xiàng)目部施工安全風(fēng)險(xiǎn)源識(shí)別清單
- 泥水平衡頂管施工方案(專家論證)
- 鐵路運(yùn)輸調(diào)度指揮與統(tǒng)計(jì)分析
- 漏纜安裝施工作業(yè)指導(dǎo)書資料
- 《大學(xué)物理》說課課件
評(píng)論
0/150
提交評(píng)論