freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)串的基本操作演示-資料下載頁(yè)

2025-06-27 09:36本頁(yè)面
  

【正文】 if(pnum[0]0||pnum[0]=100) printf(無(wú)此串!\n)。 else{ Insert(pnum[0])。 printf(新串的內(nèi)部名和串值為:\n)。 printf(%5d,pnum[0])。 Strprint(KKStrHead[pnum[0]])。 } break。 } case 39。Q39。: break。 default: printf(輸入錯(cuò)誤!可返回上一界面查看輸入格式\n)。 } }while(s1[0]!=39。Q39。)。 return OK。}(2) 測(cè)試數(shù)據(jù): ①賦值:A ‘hello’enter A ‘nice to meet you!’ enter A ‘too’ enter ②顯示:Penter //回顯剛才輸入的三條語(yǔ)句 ③判相等:E 39。hello39。 39。hi39。 enter或只輸入Eenter然后根據(jù)提示操作 ④聯(lián)接: C 39。hello39。 39。hi39。 enter或只輸入Center然后根據(jù)提示操作 ⑤求長(zhǎng)度:L 39。hello39。 enter或只輸入Lenter然后根據(jù)提示操作 ⑥求子串:S 39。hello39。enter然后根據(jù)提示操作或只輸入Eenter提示操作. ⑦子串定位:I 39。hello39。 39。ll39。 enter或只輸入Ienter然后根據(jù)提示操作 ⑧刪除:輸入Denter然后根據(jù)提示操作 Eg. E ‘’ ‘’enter,顯示“EQUAL” E ‘dad’ ‘’enter,顯示“UNEQUAL” C ‘’ ‘’enter,顯示‘’ C ‘hello,’ ‘nice to meet you’ enter,顯示‘hello,nice to meet you’ I ‘a(chǎn)’ ‘’enter,應(yīng)報(bào)告:參數(shù)非法 I ‘hello’ ‘ll’ enter,顯示:3 S ‘hello’ enter,然后根據(jù)提示輸入pos和len的值 R ‘a(chǎn)aa’ ‘a(chǎn)a’ ‘b’ enter,顯示: ‘ba’ R ‘a(chǎn)aabc’ ‘a(chǎn)’ ‘a(chǎn)ab’ enter,顯示: ‘a(chǎn)abaabaabbc’R ‘a(chǎn)aaaaaaa’ ‘a(chǎn)aaa’ ‘a(chǎn)b’ enter,顯示: ‘a(chǎn)bab’五、用戶(hù)手冊(cè)1.本程序的運(yùn)行環(huán)境為DOS操作系統(tǒng)。2.進(jìn)入程序后即顯示用戶(hù)歡迎界面,用戶(hù)可根據(jù)文字提示進(jìn)行操作,本程序有兩種命令輸入格式(如E 39。hello39。 39。hi39。 enter或只輸入Eenter然后根據(jù)提示操作),具體可查看程序的輸入格式。3.本程序區(qū)分大小寫(xiě),輸入指令時(shí)請(qǐng)注意。4. 本程序支持內(nèi)部名操作,如在聯(lián)接串的時(shí)候,可以先輸入Center,然后按提示輸入內(nèi)部名,即可完成操作?;蛘呖梢灾苯虞斎隒 39。hello39。 39。 nice to meet you39。enter,結(jié)果串為39。hello nice to meet you 39。;其它的函數(shù)也可以進(jìn)行類(lèi)似操作。5.本程序是命令解釋程序,循環(huán)往復(fù)地處理用戶(hù)鍵入的每一條指令,直至終止程序的命令為止(本程序退出指令為Qenter)。六、測(cè)試結(jié)果下面是運(yùn)行程序的操作流程(從運(yùn)行窗口復(fù)制的): 注釋?zhuān)荷蠄D為書(shū)本上測(cè)試數(shù)據(jù)的運(yùn)行效果圖,可見(jiàn)運(yùn)行結(jié)果正確。1. 比較串相等時(shí),因?yàn)橐容^的兩個(gè)串都已存入串頭表中。因此,開(kāi)始可以先比較兩串的長(zhǎng)度,若不等則馬上顯示“UNEQUAL”并返回。長(zhǎng)度相等則逐個(gè)比較串值,遇到不等則馬上顯示“UNEQUAL“并返回,比較完相等則顯示“UNEQUAL”。2. 在串聯(lián)接時(shí),方法挺簡(jiǎn)單。只需申請(qǐng)兩串長(zhǎng)度之和的空間,然后按順序賦值到新串即可。注釋?zhuān)荷蠄D為執(zhí)行各項(xiàng)基本操作的效果圖,可見(jiàn)驗(yàn)證結(jié)果的正確性。1. 上圖是直接輸入串值的命令,這樣可以方便的一次性輸入完指令。滿(mǎn)足了程序的基本要求。2. 在子串定位函數(shù)中,要注意檢查參數(shù)的合法性,當(dāng)?shù)诙€(gè)串是空串時(shí)要正確處理這種情況。3. 在子串替換時(shí),要注意設(shè)置循環(huán)結(jié)束的條件,如果設(shè)置不對(duì),曾出現(xiàn)過(guò)R’aaa’ ‘a(chǎn)a’ ‘b’,結(jié)果卻為‘b’的錯(cuò)誤結(jié)果,改正后結(jié)果正確。 注釋?zhuān)荷蠄D為各項(xiàng)操作的效果圖1. 在這里可以看出,本程序增加了Insert()函數(shù),可以在指定的內(nèi)部名插入串值,這樣就可以實(shí)現(xiàn)自由給范圍內(nèi)的串賦值,而不是僅僅依靠系統(tǒng)的自動(dòng)增加功能,這樣就增強(qiáng)了系統(tǒng)的靈活性和可用性。2. 本程序還支持內(nèi)部名操作,如上圖所示,可以根據(jù)要求輸入內(nèi)部名,即可完成相應(yīng)的串操作,這樣可以對(duì)已存入的串進(jìn)行聯(lián)接、比較等操作,這樣就大大增強(qiáng)了程序的實(shí)用性和可操作性。七、附錄源程序文件名菜單: //類(lèi)型和變量說(shuō)明 //主程序文件 八、時(shí)間復(fù)雜度分析1. 由于本程序采用數(shù)組的順序存儲(chǔ)結(jié)構(gòu),雖然要開(kāi)始定義一個(gè)較大的存儲(chǔ)空間(如定義:HString StrHead[100]),但由于每個(gè)Hstring類(lèi)型的結(jié)構(gòu)體才兩個(gè)元素,花費(fèi)的整體空間并不比鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)(要開(kāi)辟指針域,花費(fèi)一定空間)大多少,更重要的是采用數(shù)組的順序存儲(chǔ)結(jié)構(gòu)執(zhí)行串的基本操作非常方便,不必如鏈?zhǔn)侥菢訌念^指針出發(fā)查找,時(shí)間復(fù)雜度為O(n),可以通過(guò)內(nèi)部名直接找到某一個(gè)串,時(shí)間復(fù)雜度為O(1)。因此在執(zhí)行諸如串的基本操作上很方便。2. 假設(shè)串值的平均長(zhǎng)度為n,則StrCompare的時(shí)間復(fù)雜度為o(n);Concat的時(shí)間復(fù)雜度為o(n+n);Index的時(shí)間復(fù)雜度為o(n*n);Replace的時(shí)間復(fù)雜度為o(n*n*n);SubString的時(shí)間復(fù)雜度為o(n);3. 在錯(cuò)誤處理方面,本程序在幾個(gè)方面做了考慮。比如在賦值指令時(shí),如果輸入的命令為A ad’as’,這樣雖然可以知道是賦值指令,但串值不能正確賦入相應(yīng)的串中,這時(shí)系統(tǒng)應(yīng)該報(bào)錯(cuò);再者,在支持內(nèi)部名操作的指令中,如果輸入的內(nèi)部名超出范圍,則應(yīng)該報(bào)錯(cuò),其它類(lèi)似的地方也應(yīng)采取相應(yīng)的處理方式。4. 由于本程序采用字符數(shù)組s1來(lái)接收輸入的命令,為了處理數(shù)據(jù)的方便,采用了定義局部變量的方法,這樣可以減少需要傳遞的參數(shù)個(gè)數(shù)。比如在一條替換指令中有三個(gè)串,在賦值的時(shí)候采用同一個(gè)函數(shù)getin(int n)函數(shù)就可以完成三個(gè)串的賦值,而且只需傳遞目的串的內(nèi)部名一個(gè)參數(shù)就足夠啦。因?yàn)閟1是在getorder函數(shù)的,把s1[m]定義為局部變量后就可以直接在getin函數(shù)調(diào)用,減少傳遞的參數(shù),還可以使m增加到相應(yīng)的位置,為下個(gè)getin函數(shù)取用方便且正確。另外,由于s1被定義為字符類(lèi)型,如果將內(nèi)部名連同指令號(hào)(如E 0 1),這樣在取內(nèi)部名的時(shí)候結(jié)果會(huì)不正確,若內(nèi)部名為雙位數(shù),則判斷上有很大難度,為了方便起見(jiàn),可以先輸入指令號(hào),然后根據(jù)提示操作。5.在特色功能方面,本程序除了增加支持內(nèi)部名的功能外,考慮人性化要求,增加了串復(fù)制函數(shù)??梢灾苯佣ㄎ粌?nèi)部名,給指定的串賦值,實(shí)現(xiàn)這個(gè)功能有很大的作用。且實(shí)現(xiàn)這個(gè)功能也挺簡(jiǎn)單的,只需在Hstring類(lèi)型里面增加state狀態(tài)量,有串值狀態(tài)就為1,這樣避免了因?yàn)橛行┲噶钕到y(tǒng)的自動(dòng)加一功能把原本賦入串的值沖掉。九、思考和小結(jié) 本次課程設(shè)計(jì)是對(duì)我們這一學(xué)期來(lái)數(shù)據(jù)結(jié)構(gòu)課程學(xué)習(xí)成果的一次實(shí)踐檢驗(yàn),是對(duì)我們的一種全面綜合訓(xùn)練,是與課堂聽(tīng)講、自學(xué)和練習(xí)相輔相成的必不可少的一個(gè)教學(xué)環(huán)節(jié),本次課程設(shè)計(jì)的的問(wèn)題比平時(shí)的習(xí)題復(fù)雜的多,也更接近實(shí)際。是軟件設(shè)計(jì)的綜合訓(xùn)練,包括問(wèn)題分析、總體結(jié)構(gòu)分析、總體結(jié)構(gòu)設(shè)計(jì)、用戶(hù)界面設(shè)計(jì)、程序設(shè)計(jì)基本技能和技巧。培養(yǎng)我們養(yǎng)成一整套軟件工作規(guī)范的訓(xùn)練和科學(xué)作風(fēng)的培養(yǎng)。 在這次課程設(shè)計(jì)的實(shí)踐過(guò)程中,剛開(kāi)始時(shí)候由于對(duì)問(wèn)題的認(rèn)識(shí)還不是很清楚和對(duì)c語(yǔ)言一些知識(shí)的遺忘,遇到問(wèn)題解決不了。通過(guò)向老師和同學(xué)請(qǐng)教,還有自己重新復(fù)習(xí)了c語(yǔ)言那本書(shū)。然后又重新對(duì)問(wèn)題進(jìn)行分析,設(shè)計(jì)和調(diào)試。實(shí)現(xiàn)串操作的基本函數(shù),可以借鑒我們?cè)谧鳂I(yè)系統(tǒng)中遇到的相類(lèi)似的題目,進(jìn)行思考和總結(jié),便很容易實(shí)現(xiàn)串的基本操作函數(shù);在接受命令的輸入格式方面,試了很多種方法。開(kāi)始時(shí)嘗試過(guò)用getchar()函數(shù)來(lái)接收命令,并根據(jù)接受到的指令進(jìn)行操作,但遇到了問(wèn)題,于是有用gets()函數(shù)一次就將整條指令存入一個(gè)一維數(shù)組中,然后再對(duì)數(shù)組進(jìn)行操作,這樣容易且方便很多。在調(diào)試程序的過(guò)程中,遇到一些結(jié)果不正確或超出范圍的情況,又要重新返回相應(yīng)的函數(shù)進(jìn)行檢查和修改補(bǔ)充,才能使程序更加健壯和完整,才能做出一個(gè)更加實(shí)用的軟件 本次的課程設(shè)計(jì)經(jīng)過(guò)自己的努力和老師的幫助,順利的完成了程序設(shè)計(jì)要求的基本內(nèi)容和要求,對(duì)自己的編程水平有了很大程度的提高,讓我們繼續(xù)努力,努力做一個(gè)優(yōu)秀的軟件設(shè)
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1