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

正文內(nèi)容

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

2025-06-27 09:36本頁面
  

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