數(shù)據(jù)結(jié)構(gòu)課設(shè)--一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)_第1頁
數(shù)據(jù)結(jié)構(gòu)課設(shè)--一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)_第2頁
數(shù)據(jù)結(jié)構(gòu)課設(shè)--一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)_第3頁
數(shù)據(jù)結(jié)構(gòu)課設(shè)--一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)_第4頁
數(shù)據(jù)結(jié)構(gòu)課設(shè)--一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)數(shù)學(xué)與計(jì)算機(jī)學(xué)院課程設(shè)計(jì)說明書課 程 名 稱: 數(shù)據(jù)結(jié)構(gòu)-課程設(shè)計(jì) 課 程 代 碼: 題 目: 一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn) 年級(jí)/專業(yè)/班: 2009/軟件工程/4 學(xué) 生 姓 名: 學(xué) 號(hào): 開 始 時(shí) 間: 20112011 年 6 6 月 2020 日完 成 時(shí) 間: 2011 年 6 6 月 2929 日課程設(shè)計(jì)成績(jī):學(xué)習(xí)態(tài)度及平時(shí)成績(jī)(30)技術(shù)水平與實(shí)際能力(20)創(chuàng)新(5)說明書撰寫質(zhì)量(45)總 分(100)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)指導(dǎo)教師簽名: 年 月 日精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)數(shù) 據(jù) 結(jié)

2、構(gòu) 課 程 設(shè) 計(jì) 任 務(wù) 書學(xué)院名稱: 數(shù)學(xué)與計(jì)算機(jī)學(xué)院 課程代碼: 專 業(yè): 軟件工程 年 級(jí): 2009級(jí) 一、設(shè)計(jì)題目一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)。二、主要內(nèi)容設(shè)有一元多項(xiàng)式Am(x)和Bn(x). Am(x)=A0+A1x1+A2x2+A3x3+ +Amxm Bn(x)=B0+B1x1+B2x2+B3x3+ +Bnxn 請(qǐng)實(shí)現(xiàn)求M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和M(x)= Am(x)Bn(x)。 要求: 1) 首先判定多項(xiàng)式是否稀疏2) 采用動(dòng)態(tài)存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn);3) 結(jié)果M(x)中無重復(fù)階項(xiàng)和無零系數(shù)項(xiàng);4) 要求輸出結(jié)果的升冪和降冪兩種排列

3、情況三、具體要求及應(yīng)提交的材料1每個(gè)同學(xué)以自己的學(xué)號(hào)和姓名建一個(gè)文件夾,如:“1101張三”。里面應(yīng)包括:學(xué)生按照課程設(shè)計(jì)的具體要求所開發(fā)的所有源程序(應(yīng)該放到一個(gè)文件夾中)、任務(wù)書和課程設(shè)計(jì)說明書的電子文檔。2打印的課程設(shè)計(jì)說明書(注意:在封面后夾入打印的“任務(wù)書”以后再裝訂)。四、主要技術(shù)路線提示為把多個(gè)小功能結(jié)合成一個(gè)完整的小軟件,需使用“菜單設(shè)計(jì)”技術(shù)(可以是控制臺(tái)方式下的命令行形式,若能做成圖形方式則更好)。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)五、進(jìn)度安排共計(jì)兩周時(shí)間,建議進(jìn)度安排如下:選題,應(yīng)該在上機(jī)實(shí)驗(yàn)之前完成需求分析、概要設(shè)計(jì)可分配4學(xué)時(shí)完成詳細(xì)設(shè)計(jì)可分配4學(xué)時(shí)調(diào)試和分析

4、可分配10學(xué)時(shí)。2學(xué)時(shí)的機(jī)動(dòng),可用于答辯及按教師要求修改課程設(shè)計(jì)說明書。注:只用課內(nèi)上機(jī)時(shí)間一般不能完成設(shè)計(jì)任務(wù),所以需要學(xué)生自行安排時(shí)間做補(bǔ)充。六、推薦參考資料(不少于3篇)1蘇仕華等編著,數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),機(jī)械工業(yè)出版社,20072嚴(yán)蔚敏等編著,數(shù)據(jù)結(jié)構(gòu)(C語言版),清華大學(xué)出版社,20033嚴(yán)蔚敏等編著,數(shù)據(jù)結(jié)構(gòu)題集(C語言版),清華大學(xué)出版社,2003指導(dǎo)教師 簽名日期 年 月 日系 主 任 審核日期 年 月 日摘摘 要要 分析了matlab,mathmatic,maple等數(shù)學(xué)軟件對(duì)一元多項(xiàng)式的計(jì)算過程,精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)步驟后。由于這些軟件比較大功能齊全,但

5、是實(shí)用性不強(qiáng)。因此,利用microsoft visual studio 6.0開發(fā)工具,編程實(shí)現(xiàn)了一元多項(xiàng)式的加法、減法、乘法的計(jì)算器系統(tǒng),該系統(tǒng)具有一元多項(xiàng)式的加法、減法、乘法等功能。關(guān)鍵詞:關(guān)鍵詞:一元多項(xiàng)式; 軟件; 計(jì)算 精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)目目 錄錄 1616精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)1需求分析 動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)。 設(shè)有一元多項(xiàng)式Am(x)和Bn(x). Am(x)=A0+A1x1+A2x2+A3x3+ +Amxm Bn(x)=B0+B1x1+B2x2+B3x3+ +Bnxn 實(shí)現(xiàn)求M(x)= Am(x)+Bn(

6、x)、M(x)= Am(x)-Bn(x)和M(x)= Am(x)Bn(x)。(1)輸入形式和輸入值范圍:輸入的系數(shù)為float類型,輸入的冪為int類型請(qǐng)選擇:1請(qǐng)輸入你要運(yùn)算的第一個(gè)一元多項(xiàng)式的項(xiàng)數(shù):2請(qǐng)輸入第1項(xiàng)的系數(shù)和指數(shù):系數(shù):1指數(shù):1請(qǐng)輸入第2項(xiàng)的系數(shù)和指數(shù):系數(shù):1指數(shù):2(2)輸出形式請(qǐng)選擇:5一元多項(xiàng)式A為:x+x2一元多項(xiàng)式B為:4x4+5x5+6x6(3)程序所能達(dá)到的功能1) 首先判定多項(xiàng)式是否稀疏; 2) 采用動(dòng)態(tài)存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn);精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)3) 結(jié)果M(x)中無重復(fù)階項(xiàng)和無零系數(shù)項(xiàng);4) 要求輸出結(jié)果的升冪和降冪兩種排列情況(4)測(cè)試數(shù)據(jù)

7、:包括正確地輸入及其輸出結(jié)果和含有錯(cuò)誤的輸入及其輸出結(jié)果。正確的輸入:請(qǐng)選擇:5一元多項(xiàng)式A為:x+x2一元多項(xiàng)式B為:4x4+5x5+6x6錯(cuò)誤的輸入:請(qǐng)輸入第1項(xiàng)的系數(shù)和指數(shù):系數(shù):1指數(shù):1請(qǐng)輸入第2項(xiàng)的系數(shù)和指數(shù):系數(shù):2指數(shù):1輸入的該項(xiàng)指數(shù)與多項(xiàng)式中已存在的某項(xiàng)相同,請(qǐng)重新創(chuàng)建一個(gè)正確的多項(xiàng)式請(qǐng)輸入第1項(xiàng)的系數(shù)和指數(shù):2開發(fā)及運(yùn)行平臺(tái)Windows 7 alienware 平臺(tái)上,Microsoft Visual studio 6.0 環(huán)境下開發(fā)。所以建議用戶在使用時(shí),在windows 7 平臺(tái)上使用。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)3 3 概要設(shè)計(jì)概要設(shè)計(jì)數(shù)據(jù)類型的定義

8、:struct Nodefloat coef;/結(jié)點(diǎn)類型,系數(shù)int exp;/指數(shù);typedef Node polynomial;struct LNodepolynomial data;/鏈表類型LNode *next;typedef LNode* Link;模塊調(diào)用關(guān)系如圖1所示:一元多項(xiàng)式相乘一元多項(xiàng)式輸出一元多項(xiàng)式銷毀退出一元多項(xiàng)式創(chuàng)建一元多項(xiàng)式相加一元多項(xiàng)式的四則運(yùn)算一元多項(xiàng)式相減精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) 圖 1 一元多項(xiàng)式計(jì)算器模塊調(diào)用圖 4 4 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 加法模塊:精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)void PolyAdd(Link &

9、pc,Link pa,Link pb) Link p1,p2,p,pd;CopyLink(p1,pa);CopyLink(p2,pb);pc=new LNode;pc-next-NULL;p-pc;p1next;p2next;while(p1不為空且p2不為空)if(p1-data.expdata.exp)then: p-next=p1;p=p-next; p1=p1-next; else if(p1-data.expp2-data.exp) then: p-next-p2; pnext;p2next; else p1-data.coefdata.coef+p2-data.coef;/指數(shù)相同

10、,系數(shù)想加 if(p1-data.coef不等于0) p-next-p1; pnext; p1next; p2next; else pd-p1; p1next; p2next;精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) delete pd;/如果系數(shù)為0,則刪除該項(xiàng) if(p1!=NULL)then:p-next=p1;endifif(p2!=NULL)then : p-next=p2;endif減法模塊,如圖2所示: 圖 2 減法模塊結(jié)構(gòu)圖void PolySubstract(Link &pc,Link pa,Link pb)Link p,pt;CopyLink(pt,pb);pda

11、ta).coefdata).coef);/被減的多項(xiàng)式前加-號(hào) pnext);PolyAdd(pc,pa,pt);/調(diào)用多項(xiàng)式加法運(yùn)算函數(shù)開始調(diào)用多項(xiàng)式加法函數(shù)進(jìn)行運(yùn)算將多項(xiàng)式B進(jìn)行復(fù)制取多項(xiàng)式B的相反數(shù)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)DestroyLink(pt);乘法模塊:如圖3所示 圖 3 乘法模塊結(jié)構(gòu)圖void PolyMultiply(Link &pc,Link pa,Link pb)Link p1,p2,p,pd,newp,t;pc=new LNode;pc-next=NULL;p1=pa-next;p2=pb-next;while(p1不為空) pd=new L

12、Node; pd-next=NULL; p=new LNode; p-next=NULL; t=p; while(p2) newp=new LNode; newp-next=NULL; newp-data.coef=p1-data.coef*p2-data.coef;/系數(shù)相乘開始給出運(yùn)算的兩個(gè)多項(xiàng)式按系數(shù)相乘指數(shù)相加進(jìn)行運(yùn)算將運(yùn)算的結(jié)果相加并輸出精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) newp-data.exp=p1-data.exp+p2-data.exp;/指數(shù)相加 t-next=newp; t=t-next; p2=p2-next; PolyAdd(pd,pc,p);/調(diào)用加法函數(shù)

13、 CopyLink(pc,pd); p1=p1-next; p2=pb-next; DestroyLink(p); DestroyLink(pd);5 調(diào)試分析(1)調(diào)試過程中遇到的問題 :獨(dú)立測(cè)試各個(gè)模塊的功能時(shí)發(fā)現(xiàn)在創(chuàng)建鏈表后和另一個(gè)進(jìn)行運(yùn)算后多余的存儲(chǔ)單元沒有釋放而造成內(nèi)存的泄漏,還有對(duì)于鏈表的運(yùn)算時(shí)結(jié)束條件掌握不透徹導(dǎo)致沒有按計(jì)劃地去結(jié)束,比如在用For循環(huán)及While循環(huán)時(shí)沒有正確地判斷指針的移動(dòng)與結(jié)束條件而得不到自己想要的結(jié)果。進(jìn)入函數(shù)內(nèi)部調(diào)試時(shí)發(fā)現(xiàn)有誤用沒有初始化的變量,還有贅余的語句擾亂了代碼的健壯性。 在主函數(shù)中對(duì)各個(gè)函數(shù)的調(diào)用時(shí)沒有一個(gè)清晰的思路,使程序顯得很混亂,給調(diào)試造

14、成了很大困難。 對(duì)非法操作控制的不夠完善,例如缺少對(duì)越界訪問及其非法數(shù)據(jù)的控制機(jī)制,使程序精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)的安全性下降。(2)算法的時(shí)空分析該程序的實(shí)現(xiàn)是用鏈表實(shí)現(xiàn)的,所以時(shí)間復(fù)雜度和空間復(fù)雜度主要來自于鏈表的操作,都是O(n)。(3)經(jīng)驗(yàn)和體會(huì)編寫的程序不但要拿來使用,還要給別人查看,以便代碼的維護(hù)。所以代碼編寫的風(fēng)格盡量規(guī)范,清晰。變量要盡量少定義,結(jié)構(gòu)夜采用簡(jiǎn)單的。另外,對(duì)指針的使用要小心,盡量在定義的時(shí)候就進(jìn)行初始化,避免野指針,指針的使用涉及到內(nèi)存的分配。6 測(cè)試結(jié)果判斷稀疏,如圖4所示: 圖 4 判斷多項(xiàng)式是否稀疏精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)

15、 加法運(yùn)算,如圖5所示: 圖 5加法測(cè)試結(jié)果 減法運(yùn)算,如圖6所示: 圖 6 減法測(cè)試結(jié)果乘法運(yùn)算,如圖7所示:圖 7 乘法測(cè)試結(jié)果降冪升冪排序,如圖8所示精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)圖8降冪升冪排序測(cè)試結(jié)果 7 結(jié)論該程序基本實(shí)現(xiàn)了要求的順序結(jié)構(gòu)、動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法、減法、乘法等功能。代碼較為冗余,可讀性較差,可以多添加一些提示語句以及注釋。在這次課程設(shè)計(jì)中我又進(jìn)一步地了解了數(shù)據(jù)結(jié)構(gòu)中算法的核心思想的重要性,懂得了一個(gè)程序地好壞關(guān)鍵在于算法是否優(yōu)秀,一個(gè)好的優(yōu)秀的算法可以使我們的程序更加完善,安全性更高以及有更高的效率。這次設(shè)計(jì)中我發(fā)現(xiàn)了自己的許多不足,如對(duì)指針的

16、機(jī)制掌握的還不是很透徹,有的時(shí)候會(huì)出現(xiàn)指針指向錯(cuò)誤以及空指針的錯(cuò)誤,還有不能很好地分析自己算法地復(fù)雜度以及不能很好地使用控制機(jī)制使自己的程序流精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)暢地運(yùn)行。致 謝 感謝指導(dǎo)老師給我的一些重要指導(dǎo)以及提供的資料,感謝嚴(yán)蔚敏編著的數(shù)據(jù)結(jié)構(gòu)等資料,讓我在編寫代碼的過程中少走了很多彎路。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)參考文獻(xiàn)1蘇仕華等編著.數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì).機(jī)械工業(yè)出版社.20072嚴(yán)蔚敏等編著.數(shù)據(jù)結(jié)構(gòu)(C語言版).清華大學(xué)出版社.20033嚴(yán)蔚敏等編著.數(shù)據(jù)結(jié)構(gòu)題集(C語言版).清華大學(xué)出版社,2003 4鄭莉等 編著. C+程序設(shè)計(jì)語言(第三版)

17、.清華大學(xué)出版社,2005.06北京 5.陳清華 朱紅主編. Visual C+課程設(shè)計(jì)案例精選與編程指導(dǎo).東南大學(xué)出版社,2003.06,南京 6.劉振安等編著. C+程序設(shè)計(jì)課程設(shè)計(jì).機(jī)械工業(yè)出版社,2004.08,北京精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)附 錄附錄1 源程序清單#include/標(biāo)準(zhǔn)輸入輸出流#include/使程序中可用鍵盤輸入函數(shù)#include/使程序中可用系統(tǒng)標(biāo)準(zhǔn)輸出函數(shù)#include/調(diào)用數(shù)學(xué)庫函數(shù)using namespace std;/命名空間std內(nèi)定義的所有標(biāo)識(shí)符均有效struct Nodefloat coef;/結(jié)點(diǎn)類型,系數(shù)int exp;/

18、指數(shù);typedef Node polynomial;struct LNode精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)polynomial data;/鏈表類型LNode *next;typedef LNode* Link;void CreateLink(Link &L,int n);void PrintList(Link L);void PolyAdd(Link &pc,Link pa,Link pb);void PolySubstract(Link &pc,Link pa,Link pb);void CopyLink(Link &pc,Link pa);v

19、oid PolyMultiply(Link &pc,Link pa,Link pb);int JudgeIfExpSame(Link pa,Link e);void DestroyLink(Link &L);int CompareIfNum(int i);void DestroyLink(Link &L)Link p;p=L-next;while(p) L-next=p-next; delete p; p=L-next;delete L;L=NULL;void CreateLink(Link &L,int n)if(L!=NULL)DestroyLink(L);

20、Link p,newp;L=new LNode;L-next=NULL;(L-data).exp=-1;/創(chuàng)建頭結(jié)點(diǎn)p=L;for(int i=1;i=n;i+) newp=new LNode;精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) cout請(qǐng)輸入第i項(xiàng)的系數(shù)和指數(shù):endl; cout(newp-data).coef; cout(newp-data).exp; if(newp-data.exp0) cout您輸入有誤,指數(shù)不允許為負(fù)值!next=NULL; p=L; if(newp-data.coef=0) cout系數(shù)為零,重新輸入!next!=NULL)&(p-next-da

21、ta).expdata).exp) p=p-next; /p指向指數(shù)最小的那一個(gè) if(!JudgeIfExpSame( L, newp) newp-next=p-next; p-next=newp; else cout輸入的該項(xiàng)指數(shù)與多項(xiàng)式中已存在的某項(xiàng)相同,請(qǐng)重新創(chuàng)建一個(gè)正確的多項(xiàng)式next;while(p-next!=NULL)if(abs(p-next-data.exp-p-data.exp)1)flag=1;elseflag=0; p=p-next;if(flag)cout該多項(xiàng)式是稀疏的哈endl;elsecout該多項(xiàng)式是連續(xù)的哈next;while(p!=NULL&(e

22、-data.exp!=p-data.exp) p=p-next;if(p=NULL)return 0;else return 1;void PrintList(Link L)Link p;if(L=NULL|L-next=NULL) cout該一元多項(xiàng)式為空!next;精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) if(p-data).coef0) if(p-data).exp=0) coutdata).coef;/如果指數(shù)為0則直接輸出系數(shù) else if(p-data).coef=1&(p-data).exp=1) coutdata).coef=1&(p-data).exp!

23、=1) coutxdata).exp; else if(p-data).exp=1&(p-data).coef!=1) coutdata).coefx; else coutdata).coefxdata).exp; if(p-data).coefdata).exp=0) coutdata).coef;/如果指數(shù)為0,則直接輸出系數(shù) else if(p-data.coef=-1&p-data.exp=1) coutdata.coef=-1&p-data.exp!=1) cout-xdata.exp; else if(p-data.exp=1) coutdata.coefx

24、;/如果指數(shù)為1,則輸出系數(shù)倍xelse coutdata).coefxdata).exp; p=p-next; while(p!=NULL) if(p-data).coef0)/系數(shù)大于0時(shí)輸出情況 if(p-data).exp=0) cout+data).coef; else if(p-data).exp=1&(p-data).coef!=1) cout+data).coefdata).exp=1&(p-data).coef=1) cout+data).coef=1&(p-data).exp!=1) cout+xdata).exp; else cout+data).

25、coefxdata).exp;精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) if(p-data).coefdata).exp=0) coutdata).coef; else if(p-data.coef=-1&p-data.exp=1) coutdata.coef=-1&p-data.exp!=1) cout-xdata.exp; else if(p-data.exp=1) coutdata.coefx; else coutdata).coefxdata).exp; p=p-next; coutnext=NULL;r=pc;p=pa;while(p-next!=NULL) q=n

26、ew LNode; q-data.coef=p-next-data.coef; q-data.exp=p-next-data.exp; r-next=q; q-next=NULL; r=q; p=p-next;void PolyAdd(Link &pc,Link pa,Link pb) Link p1,p2,p,pd;精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)CopyLink(p1,pa);CopyLink(p2,pb);pc=new LNode;pc-next=NULL;p=pc;p1=p1-next;p2=p2-next;while(p1!=NULL&p2!=NULL)if

27、(p1-data.expdata.exp) p-next=p1; p=p-next; p1=p1-next; else if(p1-data.expp2-data.exp) p-next=p2; p=p-next; p2=p2-next; else p1-data.coef=p1-data.coef+p2-data.coef; if(p1-data.coef!=0) p-next=p1; p=p-next; p1=p1-next; p2=p2-next; else pd=p1; p1=p1-next; p2=p2-next; delete pd;/如果系數(shù)為0,則刪除該項(xiàng)精選優(yōu)質(zhì)文檔-傾情為你

28、奉上專心-專注-專業(yè) if(p1!=NULL) p-next=p1;if(p2!=NULL) p-next=p2;void PolySubstract(Link &pc,Link pa,Link pb)Link p,pt;CopyLink(pt,pb);p=pt;while(p!=NULL) (p-data).coef=(-(p-data).coef);/被減的多項(xiàng)式前加-號(hào) p=p-next;PolyAdd(pc,pa,pt);/調(diào)用多項(xiàng)式加法運(yùn)算函數(shù)DestroyLink(pt);void Clear()system(pause);system(cls);/讓用戶重新選擇void

29、PolyMultiply(Link &pc,Link pa,Link pb)Link p1,p2,p,pd,newp,t;pc=new LNode;pc-next=NULL;p1=pa-next;p2=pb-next;while(p1!=NULL)pd=new LNode; pd-next=NULL; p=new LNode; p-next=NULL;精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) t=p; while(p2) newp=new LNode; newp-next=NULL; newp-data.coef=p1-data.coef*p2-data.coef;/系數(shù)相乘 new

30、p-data.exp=p1-data.exp+p2-data.exp;/指數(shù)相加 t-next=newp; t=t-next; p2=p2-next; PolyAdd(pd,pc,p); CopyLink(pc,pd); p1=p1-next; p2=pb-next; DestroyLink(p); DestroyLink(pd);void Menu()coutendl;coutendl;cout*一元多項(xiàng)式的加、減、乘運(yùn)算*endl;couttttttttt endl;cout1 創(chuàng)建要運(yùn)算的兩個(gè)一元多項(xiàng)式tt endl;cout2 將兩個(gè)一元多項(xiàng)式相加ttt endl;cout3 將兩個(gè)一

31、元多項(xiàng)式相減ttt endl;cout4 將兩個(gè)一元多項(xiàng)式相乘ttt endl;cout5 顯示兩個(gè)一元多項(xiàng)式ttt endl;cout6 銷毀所創(chuàng)建的二個(gè)多項(xiàng)式tt endl;cout7 退出ttttt endl;couttttttttt endl;cout0&ichoose; switch(choose) case 1: cout請(qǐng)輸入你要運(yùn)算的第一個(gè)一元多項(xiàng)式的項(xiàng)數(shù):n; if(CompareIfNum(n)=1) cout您的輸入有誤,請(qǐng)重新輸入endl; Clear(); break; CreateLink(La,n); cout請(qǐng)輸入你要運(yùn)算的第二個(gè)一元多項(xiàng)式的項(xiàng)數(shù):n;

32、if(CompareIfNum(n)=1) cout您的輸入有誤,請(qǐng)重新輸入endl; Clear(); break; CreateLink(Lb,n); Clear(); break; case 2:精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) if(La=NULL|Lb=NULL) cout您的多項(xiàng)式創(chuàng)建有誤,請(qǐng)重新選擇endl; Clear(); break; PolyAdd(L,La,Lb);coutendl; cout設(shè)相加的兩個(gè)一元多項(xiàng)式為和則:endl; coutendl; coutA的多項(xiàng)式為:; PrintList(La);coutendl; coutB的多項(xiàng)式為:; PrintList(Lb); coutendl; cou

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論