版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、驗(yàn)證性實(shí)驗(yàn)5:串子系統(tǒng)班級(jí)學(xué)號(hào) 012301114114 姓名 胡德文1 .實(shí)驗(yàn)?zāi)康?1)掌握串的特點(diǎn)及順序定長(zhǎng)存儲(chǔ)的方式。(2)掌握串的創(chuàng)建、連接、插入、刪除、顯示等操作。(3)掌握串的查找、取子字符串、比較串大小的操作(4)掌握模式匹配的基本思想及其算法。2 .實(shí)驗(yàn)內(nèi)容(1)由用戶通過鍵盤輸入建立一個(gè)字符串。(2)編寫插入、刪除、查找、比較、取子字符串、連接字符串、顯示、模式匹配等程 序。(3)設(shè)計(jì)一個(gè)選擇式菜單,以菜單方式選擇上述操作。串子系統(tǒng)*1-輸入字串*2-_-連接字串*3-取出子串*4-刪除子串*5-插入子串*6-查找子串*7-比較串大小*8-顯示字串*0-返回*請(qǐng)輸入菜單選項(xiàng)(
2、0-8):3 .實(shí)驗(yàn)程序#include <stdio.h>#define STRINGMAX 100typedef struct char vec STRINGMAX;int len;str;void ConcatStr(str *r1,str *r2) int i;printf("nttr1=%s r2=%sn",r1->vec,r2->vec);if 6->len+r2->len>STRINGMAX)printf("nnt 兩個(gè)串太長(zhǎng),溢出!n");else for (i=0;i<r2->len
3、;i+)r1->vecr1->len+i=r2->veci;r1->vecr1->len+i='0'r1->len=r1->len+r2->len;) ) void SubStr(str *r,int i,int j) int k;str a;str *r1=&a;if (i+j-1>r->len) printf ("ntt 子串超界!n"); return;) elsefor (k=0;k<j;k+)r1->veck=r->veci+k-1;r1->len=j;r1
4、->vecr1->len=''0')printf("ntt取出字符為:");puts(r1->vec);)void DelStr(str *r,int i,int j)int k;if(i+j-1>r->len)printf("ntt所要?jiǎng)h除的子串超界!n");else for (k=i+j;k<r->len;k+,i+) r->veci=r->veck; r->len=r->len-j;r->vecr->len=''0') )
5、str *InsStr(str *r,str *r1,int i) int k;if(i>=r->len|r->len+r1->len>STRINGMAX) printf("ntt不能才f入!n");else for(k=r->len-1;k>=i;k-) r->vecr1->len+k=r->veck; for(k=0;k<r1->len;k+) r->veci+k=r1->veck;r->len=r->len+r1->len;r->vecr->len=
6、9;'0') return r;)int IndexStr(str *r,str *r1)int i,j,k;for(i=0;r->veci;i+)for(j=i,k=0;r->vecj=r1->veck;j+,k+)if(!r1->veck+1)return i;return -1;int LenStr(str *r)int i=0;while(r->veci!='0')i+;return i;str*CreateStr(str *r) gets(r->vec);r->len=LenStr(r);return r;in
7、t EqualStr(str *r1,str *r2)for(int i=0;r1->veci&&r2->veci&&r1->veci=r2->veci;i+);return r1->veci-r2->veci;void main()str a,b,c,d;str *r=&a,*r1;r->vec0='0'char choice,p;int i,j,ch=1;while(ch!=0)printf("n");printf("ntt串子系統(tǒng)");printf(&
8、quot;ntt*");printf("ntt*1 輸入字串*")printf("ntt*2 連接字串*")printf("ntt*3 取出子串*")printf("ntt*4 刪除子串*")printf("ntt*5 插入子串*")printf("ntt* 6 查 找 子 串*")printf("ntt* 7 比較 串大小*")printf("ntt* 8 顯 示 字 串*")printf("ntt* 0 返回*&
9、quot;)nr*;r-t4-F/H*”、printf("ntt 請(qǐng)選擇菜單號(hào)(0-8): ");scanf("%c",&choice);getchar();if(choice='1')printf("ntt 請(qǐng)輸入一個(gè)字符串:");gets(r->vec);r->len=LenStr(r);else if(choice='2')printf("ntt 請(qǐng)輸入所要連接的串:");r1=CreateStr(&b);ConcatStr(r,r1);printf
10、("ntt 連接以后的新串值為:");puts(r->vec);else if(choice='3')printf("ntt 請(qǐng)輸入從第幾個(gè)字符開始:");scanf("%d",&i);getchar();printf("ntt 請(qǐng)輸入取出的連續(xù)字符數(shù):");scanf("%d",&j);getchar();SubStr(r,i,j);else if(choice='4')printf("ntt 請(qǐng)輸入從第幾個(gè)字符開始:"
11、);scanf("%d",&i);getchar();printf("ntt 請(qǐng)輸入刪除的連續(xù)字符數(shù):");scanf("%d",&j);getchar();DelStr(r,i-1,j);else if(choice='5')printf("ntt 請(qǐng)輸入在第幾個(gè)字符前插入: ");scanf("%d",&i);getchar();printf("ntt 請(qǐng)輸入所要插入的字符串: ");r1=CreateStr(&b);Ins
12、Str(r,r1,i-1);else if(choice='6')printf("ntt 請(qǐng)輸入所要查找的字符串: ");r1=CreateStr(&b);i=IndexStr(r,r1);if(i!=-1)printf("ntt第一次出現(xiàn)的位置是第個(gè).n",i+1);elseprintf("ntt 該字串不在其中! n");else if(choice='7')printf("ntt請(qǐng)輸入第一個(gè)串: ");gets(c.vec);printf("ntt請(qǐng)輸入第二個(gè)
13、串: ");gets(d.vec);int k=EqualStr(&c,&d);if(k>0)printf("ntt第一個(gè)串大!n");else if(k<0)printf("ntt第二個(gè)串大!n");elseprintf("ntt 兩個(gè)串一樣大!n");else if(choice='8')printf("ntt 該串值為:");if(r->vec0='0')printf(" 空! n");elseputs(r->
14、;vec);else if(choice='0')break;elseprintf("ntt 請(qǐng)注意:輸入有誤!n");if(choice!='X'&&choice!='X')printf("ntt 按【 Enter 】鍵繼續(xù),按任意鍵返回主菜單.");p=getchar();if(p!='xA')getchar();break;4程序運(yùn)行七: 1皴據(jù)結(jié)構(gòu)Debu&5.eze串子系統(tǒng)小 S事SS軍S大事回入第除入鬟不 整取,查比顯這 一 一一一 一一二2345678U
15、X:二二:請(qǐng)選擇菜單號(hào)。-8: 1謂稀入一'字符申:他c技【Fnt”】健穗.按任芭鍵返回主菜單.”"G; 數(shù)據(jù)結(jié)構(gòu)D.bug5. sc'技【Ent”】境地續(xù)。按任念便返回主菜單.串子系統(tǒng)X小 f s ffi s a a MX5£±££±£.-MX 入本壬除入戊頊?zhǔn)綳X 型啾察青”顯返“ 一 - _ 二 一 . _ k連接以后的新昂值為:ahc“F技 *nt:”】槿游運(yùn).按阡旁犍返回中菜單.按EntepJ慢繼續(xù),笈任意鍵返回主菜單.率子系統(tǒng)請(qǐng)選譚票堂號(hào)日-8: 3請(qǐng)輸入從第幾個(gè)字符開始:2請(qǐng)輸入取出的連續(xù)字將數(shù)
16、:2取出字符為:be按FntevJ鍵繼續(xù),充任憨鍵返回主菜羊.onsssss/S目 生于千本吐字入捋出除入找交示 墨取督查收顯返 _釬"G: 數(shù)據(jù)結(jié)構(gòu)Debucsy_4. cxc'口國(guó) 取出字符為:人按Enter】鍵繼柒,發(fā)任至犍返回主菜單.串子系統(tǒng)吊回 H4rb子子干了針子 入營(yíng)除入我交示 要取翦查匯顯返請(qǐng)選擇菜單號(hào)0-8:請(qǐng)前入從第幾個(gè)字符開始:3請(qǐng)而入刪除的連續(xù)字殍數(shù):3技【Ent”】糙繼牧,技仟童鞋返回主菜!同可"C:數(shù)據(jù)結(jié)構(gòu)Dobug.y_* 0X0*請(qǐng)輸入從笫幾個(gè)字符開始:3請(qǐng)諭入冊(cè)除的淬續(xù)字符數(shù):3按Enter】槎繼續(xù),按E螢鍵返回主菜單.國(guó)子系統(tǒng)M
17、“«*«“ 看«-«S33BSS 八、a回 工了子子軋宇 入年守示 慝取融查顯返 二二二二一 _ _ _ _ 123456780xaM«x“M«x請(qǐng)選擇菜單號(hào)。一G: 8該串逋為:*brI按血畬2】鍵老續(xù),按任左鍵返回主菜飛:數(shù)據(jù)結(jié)構(gòu)Debugsy_4. c*c,該事,直為不“按【Enter】鍵繼操.發(fā)任至犍返回主菜單.串子系統(tǒng)吊回 H4rb子子干了子 入營(yíng)除入我交示 獸取翦查總顯近 _請(qǐng)選擇菜單號(hào)5請(qǐng)諭人在第幾個(gè)字符前插入:2請(qǐng)諭入所關(guān)插入的字符串:技Rntev核繼而,按仟童健返回主菜八數(shù)據(jù)結(jié)構(gòu)Dahi】gtsy_4請(qǐng)輸入在笫幾個(gè)字
18、符前插入;2請(qǐng)輸入所要插入的字符串Shl按tE“C”】鍵繼續(xù),按住意鍵返回主菜單.區(qū) 3一一 一一一 一二一入監(jiān)除人彗示字字王當(dāng)三吐字 5民子系統(tǒng)請(qǐng)選擇榮盛號(hào)0 - 8: 8該串值為 aohibf技Enter鍵繼續(xù),按任意鍵返臼主菜單.|言,C:數(shù)據(jù)結(jié)構(gòu)Dobu八sy_4 oxo,該車值為:ashlbf按【Entez】鍵繼續(xù),按任意鍵返回主英甲.串子主于子子貶了 入接H除入爰不郁W比顯返 _請(qǐng)選擇菜單號(hào)。8: 6請(qǐng)瑜人所緊查找的字符串:ah:第一次日現(xiàn)的位置是第2個(gè).fe Fntpp鍵繼續(xù),接任君鍵近叵主算單.按UntM】建聯(lián)續(xù),套任意鍵也回三菜單一請(qǐng)選擇菜單弓8修八7 請(qǐng)輸入第一個(gè)串:3府ngWi 請(qǐng)輸入第二個(gè)串;hai串子娶茅.串一個(gè)串大I£,£主已¥$,“.$叵 千壬二十子”字 入爵女K式示 霍取嚼古燧顯返 -按CEi.lsr解肘塞 按任意便返回主菜單.串sLJJmaa串小串回請(qǐng)進(jìn)烽
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版星巴克加盟店設(shè)備維護(hù)合同
- 個(gè)人影視作品版權(quán)轉(zhuǎn)讓合同(2024版)3篇
- 2024示范文本:二手車買賣合同車輛安全檢測(cè)規(guī)范2篇
- 2024試乘試駕活動(dòng)電子合同范本12篇
- 2025年度二手吊車評(píng)估與交易中介合同3篇
- 項(xiàng)目建議書(含設(shè)計(jì)任務(wù)書)及可行性研究報(bào)告編制技術(shù)咨詢合同模板
- 2025年度碼頭船舶??颗c貨物倉(cāng)儲(chǔ)一體化租賃合同4篇
- 2025年度臨時(shí)醫(yī)療護(hù)理人員派遣服務(wù)合同4篇
- 2025年稅務(wù)顧問服務(wù)合同協(xié)議書適用于企業(yè)集團(tuán)6篇
- 眾維重工2025年度鋼結(jié)構(gòu)建筑工程智能化控制系統(tǒng)采購(gòu)合同2篇
- 《穿越迷宮》課件
- 《C語(yǔ)言從入門到精通》培訓(xùn)教程課件
- 2023年中國(guó)半導(dǎo)體行業(yè)薪酬及股權(quán)激勵(lì)白皮書
- 2024年Minitab全面培訓(xùn)教程
- 社區(qū)電動(dòng)車棚新(擴(kuò))建及修建充電車棚施工方案(純方案-)
- 項(xiàng)目推進(jìn)與成果交付情況總結(jié)與評(píng)估
- 鐵路項(xiàng)目征地拆遷工作體會(huì)課件
- 醫(yī)院死亡報(bào)告年終分析報(bào)告
- 建設(shè)用地報(bào)批服務(wù)投標(biāo)方案(技術(shù)方案)
- 工會(huì)工作人年度考核個(gè)人總結(jié)
- 上海民辦楊浦實(shí)驗(yàn)學(xué)校初一新生分班(摸底)語(yǔ)文考試模擬試卷(10套試卷帶答案解析)
評(píng)論
0/150
提交評(píng)論