數(shù)據(jù)結(jié)構(gòu)-任意長(zhǎng)整數(shù)加法_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)-任意長(zhǎng)整數(shù)加法_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)-任意長(zhǎng)整數(shù)加法_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)-任意長(zhǎng)整數(shù)加法_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)-任意長(zhǎng)整數(shù)加法_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

課程設(shè)計(jì)報(bào)告題目:任意長(zhǎng)整數(shù)加法學(xué)期:2017春班號(hào):學(xué)號(hào):代號(hào)姓名:代號(hào)成績(jī):哈爾濱華德學(xué)院電子與信息工程學(xué)院年月日課程設(shè)計(jì)的目的與要求課程設(shè)計(jì)目的1.通過(guò)課程設(shè)計(jì),加深對(duì)《數(shù)據(jù)結(jié)構(gòu)》課程所學(xué)知識(shí)的理解,熟練掌握和固數(shù)據(jù)結(jié)構(gòu)的基本知識(shí)和語(yǔ)法規(guī)范。通過(guò)課程設(shè)計(jì),鞏固和加深對(duì)線性表、棧、隊(duì)列、字符串、查找、排序等理論知識(shí)的理解;提高利用計(jì)算機(jī)分析解決綜合性實(shí)際問(wèn)題的基本能力。包括:數(shù)據(jù)類型(整形、實(shí)型、字符型、指針、數(shù)組、結(jié)構(gòu)等);運(yùn)算類型(算術(shù)運(yùn)算、邏輯運(yùn)算、自增自減運(yùn)算、賦值運(yùn)算等);程序結(jié)構(gòu)(順序結(jié)構(gòu)、判斷選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu))。2.庫(kù)函數(shù)應(yīng)用數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)是綜合運(yùn)用課程中學(xué)到的幾種典型數(shù)據(jù)結(jié)構(gòu)、常用算法以及程序設(shè)計(jì)語(yǔ)言,自行實(shí)現(xiàn)一個(gè)較為完整的應(yīng)用系統(tǒng)。3.學(xué)會(huì)將理論知識(shí)應(yīng)用于實(shí)踐的方法,提高分析和解決問(wèn)題的能力,提高綜合能力。(二)題目與要求題目:任意長(zhǎng)整數(shù)加法要求:1.WindowsDOS窗口提示用戶輸入兩個(gè)為無(wú)限長(zhǎng)的整數(shù),當(dāng)用戶有非法輸入符時(shí)給出用戶提示并重新輸入整數(shù),然后輸出兩個(gè)整數(shù)的和,輸出形式按照中國(guó)人的習(xí)慣,每四位一組,組間用逗號(hào)隔開。2.整形變量范圍是-(215-1)~(215-1),讀取數(shù)據(jù)后利用ASCII碼的方式轉(zhuǎn)換數(shù)據(jù),采用單鏈表結(jié)構(gòu)方式實(shí)現(xiàn)長(zhǎng)整數(shù)的存儲(chǔ)。3.基于CodeBlocks軟件建立工程并用C++語(yǔ)言編譯。4:測(cè)試數(shù)據(jù)為:(1)輸入:“0”;“0”應(yīng)輸出:“0”。(2)輸入:“234”;“123”應(yīng)輸出:“357”。(3)輸入:“345”;“345”應(yīng)輸出:“690”。(4)輸入:“19”;“25”應(yīng)輸出:“44”。(5)輸入:“123456789”;“123456789”應(yīng)輸出:“2,4691.3578。(6)輸入:“7777778888888888”;“999999999999999”應(yīng)輸出:“8777,7788,8888,8887”。(7)輸入:“4545454545454545”;“78787878787878787878”應(yīng)輸出:“7879,2424,2424,2424,2423”。二、實(shí)踐環(huán)境配置1.硬件配置while(1){

鏈表創(chuàng)建;用戶輸入數(shù)字;數(shù)據(jù)存儲(chǔ);數(shù)據(jù)處理;輸出結(jié)果;}

}

2)集合單元模塊——實(shí)現(xiàn)集合的抽象數(shù)據(jù)類型。3)結(jié)點(diǎn)結(jié)構(gòu)單元模塊——定義集合的結(jié)點(diǎn)結(jié)構(gòu)。函數(shù)主要功能的代碼如下: 函數(shù):Node*creat(Node*head) 功能:創(chuàng)建單鏈表。 函數(shù):Node*insert(Node*head) 功能:試讀取數(shù)據(jù),采用頭插法和ASCII碼技術(shù)。將字符轉(zhuǎn)換為與字 符相同的數(shù)字。 函數(shù):voidAdd(Node*headone,Node*headtwo,Node*headthree) 功能:釋放內(nèi)存空間。 函數(shù):voiddestroy(Node*head) 功能:求出兩個(gè)無(wú)限長(zhǎng)整數(shù)的求和。主函數(shù)深度解析:/*主函數(shù)*/voidmain(){ Node*creat(Node*head);/*聲明創(chuàng)建單鏈表的函數(shù)*/ Node*insert(Node*head);/*聲明讀取數(shù)據(jù)函數(shù)*/ voidAdd(Node*headone,Node*headtwo,Node*headthree);/*聲明相加函數(shù)*/ voidprint(Node*head);/*聲明輸出函數(shù)*/ voiddestroy(Node*head);/*聲明釋放內(nèi)存空間函數(shù)*/ Node*headone;/*被加數(shù)的頭結(jié)點(diǎn)*/ Node*headtwo;/*加數(shù)的頭結(jié)點(diǎn)*/ Node*headthree;/*和的頭結(jié)點(diǎn)*/ while(1) { headone=creat(headone);/*創(chuàng)建單鏈表,用于儲(chǔ)存被加數(shù)*/ headtwo=creat(headtwo);/*創(chuàng)建單鏈表,用于儲(chǔ)存加數(shù)*/ headthree=creat(headthree);/*創(chuàng)建單鏈表,用于儲(chǔ)存和*/ printf("輸入被加數(shù)A:"); headone=insert(headone);/*讀被加數(shù)*/ if(headone!=NULL) { printf("輸入被數(shù)B:"); headtwo=insert(headtwo);/*讀取加數(shù)*/ } if(headone!=NULL&&headtwo!=NULL) { Add(headone,headtwo,headthree);/*求和*/ print(headthree);/*輸出和*/ destroy(headthree);/*釋放內(nèi)存空間*/ } printf("\n\n\n"); }}4.系統(tǒng)測(cè)試 由CodeBlock編寫datalist.cpp文件,用編譯器編譯出datalist.o文件,最后連接成可執(zhí)行文件datalist.exe,如圖4-1所示。運(yùn)行可執(zhí)行文件datalist.exe出現(xiàn)DOS界面,根據(jù)上文預(yù)定測(cè)試數(shù)據(jù)進(jìn)行測(cè)試,查看結(jié)果的正確性,效果如圖4-2所示。圖4-1編譯文件圖4-2測(cè)試程序四、小組成員分工說(shuō)明獨(dú)立完成。五、總結(jié)1.算法改進(jìn)設(shè)想:(1)在算法效率上,將單鏈表該為雙向循環(huán)列表,(2)在功能設(shè)置上,編寫出簡(jiǎn)易GUI,在界面中設(shè)置相關(guān)操作選項(xiàng)。2.課程設(shè)計(jì)期間的主要收獲:理論轉(zhuǎn)化到實(shí)際應(yīng)用,看似簡(jiǎn)單,實(shí)際操作卻有各

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論