![順序結(jié)構(gòu)動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法減法乘法的實(shí)現(xiàn)_第1頁(yè)](http://file4.renrendoc.com/view/6139022e2e99525b3688a0eb45a4bb6d/6139022e2e99525b3688a0eb45a4bb6d1.gif)
![順序結(jié)構(gòu)動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法減法乘法的實(shí)現(xiàn)_第2頁(yè)](http://file4.renrendoc.com/view/6139022e2e99525b3688a0eb45a4bb6d/6139022e2e99525b3688a0eb45a4bb6d2.gif)
![順序結(jié)構(gòu)動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法減法乘法的實(shí)現(xiàn)_第3頁(yè)](http://file4.renrendoc.com/view/6139022e2e99525b3688a0eb45a4bb6d/6139022e2e99525b3688a0eb45a4bb6d3.gif)
![順序結(jié)構(gòu)動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法減法乘法的實(shí)現(xiàn)_第4頁(yè)](http://file4.renrendoc.com/view/6139022e2e99525b3688a0eb45a4bb6d/6139022e2e99525b3688a0eb45a4bb6d4.gif)
![順序結(jié)構(gòu)動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法減法乘法的實(shí)現(xiàn)_第5頁(yè)](http://file4.renrendoc.com/view/6139022e2e99525b3688a0eb45a4bb6d/6139022e2e99525b3688a0eb45a4bb6d5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、百度文庫(kù)-讓每個(gè)人平等地提升自我課程設(shè) 二計(jì)(數(shù)據(jù)結(jié)構(gòu))班 級(jí) 姓名學(xué)號(hào)一指導(dǎo)教師百度文庫(kù)-讓每個(gè)人平等地提升自我課程設(shè)計(jì)任務(wù)書及成績(jī)?cè)u(píng)定順序結(jié)構(gòu)、動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法、減法、 乘法的實(shí)現(xiàn)。I、題目的目的和要求1、設(shè)計(jì)目的鞏固和加深對(duì)數(shù)據(jù)結(jié)構(gòu)的理解,通過(guò)上機(jī)實(shí)驗(yàn)、調(diào)試程序,加深對(duì)課本知識(shí)的理解, 最終使學(xué)生能夠熟練應(yīng)用數(shù)據(jù)結(jié)構(gòu)的知識(shí)寫程序。/ (1)通過(guò)本課程的學(xué)習(xí),能熟練掌握幾種基本數(shù)據(jù)結(jié)構(gòu)的基本操作。 (2)能針對(duì)給定題目,選擇相應(yīng)的數(shù)據(jù)結(jié)構(gòu),分析并設(shè)計(jì)算法,進(jìn)而給出問(wèn)題的正 確求解過(guò)程并編寫代碼實(shí)現(xiàn)。2、設(shè)計(jì)題目要求 (給出你所選擇的題目的要求描述)首先判定多項(xiàng)式是否稀疏分別
2、采用順序和動(dòng)態(tài)存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn);結(jié)果M(x)中無(wú)重復(fù)階項(xiàng)和無(wú)零系數(shù)項(xiàng);要求輸出結(jié)果的開(kāi)幕和降幕兩種排列情況;n、設(shè)計(jì)進(jìn)度及完成情況日期內(nèi)容選取參考書,查閱有關(guān)文獻(xiàn)資料,完成資料搜集和系統(tǒng)分析工 作。創(chuàng)建相關(guān)數(shù)據(jù)結(jié)構(gòu),錄入源程序。/調(diào)試程序并記錄調(diào)試中的問(wèn)題,初步完成課程設(shè)計(jì)報(bào)告。上交課程設(shè)計(jì)報(bào)告打印版并進(jìn)行課程設(shè)計(jì)答辯,要求每個(gè)同學(xué)針對(duì)自己的設(shè)計(jì)回答指導(dǎo)教師 3-4個(gè)問(wèn)題。/考核結(jié)束后將課程設(shè)計(jì)報(bào)告和源程序的電子版交班長(zhǎng)統(tǒng)一刻 光盤上交。/百度文庫(kù)-讓每個(gè)人平等地提升自我田、主要參考文獻(xiàn)及資料1嚴(yán)蔚敏.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版).清華大學(xué)出版社,20072嚴(yán)蔚敏.數(shù)據(jù)結(jié)構(gòu)題集(C語(yǔ)言版).清華大學(xué)出版社
3、,20073譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì).清華大學(xué)出版社,20054與所用編程環(huán)境相配套的C語(yǔ)言或C+#目關(guān)的資料IV、成績(jī)?cè)u(píng)定設(shè)計(jì)成績(jī):(教師填寫)指導(dǎo)老師:/(簽字)百度文庫(kù)-讓每個(gè)人平等地提升自我二。一。年 七月十日 TOC o 1-5 h z 第一章 概述.1第二章系統(tǒng)分析.441第三章概要設(shè)計(jì)2 HYPERLINK l bookmark29 o Current Document 第四章詳細(xì)設(shè)計(jì)3 HYPERLINK l bookmark41 o Current Document 第五章運(yùn)行與測(cè)試 12 HYPERLINK l bookmark47 o Current Document 第六
4、章總結(jié)與心得、14 HYPERLINK l bookmark49 o Current Document 參考文獻(xiàn) 15本目錄是根據(jù)正文文檔自動(dòng)生成的,請(qǐng)?jiān)趫?bào)告完成后,更新目錄的頁(yè)碼,更新方法如下:.鼠標(biāo)單擊目錄任意部分選中目錄;.單擊鼠標(biāo)右鍵選擇“更新域”;.在出現(xiàn)的“更新目錄”的對(duì)話框中選擇“只更新頁(yè)碼”,見(jiàn)圖1-3,單擊“確定”按鈕、目錄頁(yè)碼將被更新。第一章哪述第二章系統(tǒng)分析人峭 上在里勃目錄.請(qǐng)選穿;列連取之一3漢堂野仃鑄史Q.一萌至不營(yíng)菱 僦:融洛更新完成后,最好再核對(duì)一下第匚章概要設(shè)計(jì)一一第四章洋組設(shè)計(jì)一一 TOC o 1-5 h z 第五章運(yùn)行與測(cè)試b第六章總結(jié)與心得&參考文獻(xiàn)7圖
5、1-3更新目錄頁(yè)碼示意圖第一章概述課程設(shè)計(jì)是實(shí)踐性教學(xué)中的一個(gè)重要環(huán)節(jié),它以某一課程為基礎(chǔ),可以涉及和課程 相關(guān)的各個(gè)方面,是一門獨(dú)立于課程之外的特殊課程。課程設(shè)計(jì)是讓同學(xué)們對(duì)所學(xué)的課 程更全面的學(xué)習(xí)和應(yīng)用,理解和掌握課程的相關(guān)知識(shí)。數(shù)據(jù)結(jié)構(gòu)是一門重要的專業(yè) 基礎(chǔ)課,是計(jì)算機(jī)理論和應(yīng)用的核心基礎(chǔ)課程。數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),要求學(xué)生在數(shù)據(jù)結(jié)構(gòu)的邏輯特性和物理表示、數(shù)據(jù)結(jié)構(gòu)的選擇 和應(yīng)用、算法的設(shè)計(jì)及其實(shí)現(xiàn)等方面,加深對(duì)課程基本內(nèi)容的理解。同時(shí),在程序設(shè)計(jì) 方法以及上機(jī)操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)和嚴(yán)格的訓(xùn)練。/ 在這次的課程設(shè)計(jì)中我選擇的題目是順序結(jié)構(gòu)、動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加 法
6、、減法、乘法的實(shí)現(xiàn)。分別采用順序結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),利用多項(xiàng)得結(jié)果,最后得 多項(xiàng)式中不含有重復(fù)階項(xiàng)和零系數(shù)得項(xiàng)。除此之外,還得分為降幕和開(kāi)幕兩種排序方式,第二章系統(tǒng)分析.順序結(jié)構(gòu)、動(dòng)態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式的加法、 減法、乘法的實(shí)現(xiàn)??梢苑譃閹讉€(gè) 模塊:輸入模塊、輸出模塊(開(kāi)幕降幕)、數(shù)據(jù)處理模塊(多項(xiàng)式的加減乘)、主程序 模塊。.在程序過(guò)程中加入漢字提示符,讓讀者清楚明白的操作該程序。運(yùn)行程序時(shí)看起來(lái)簡(jiǎn) 潔有序,操作簡(jiǎn)單明了。.程序執(zhí)行時(shí)的命令:選擇創(chuàng)建兩個(gè)一元多項(xiàng)式輸入第一個(gè)一元多項(xiàng)式的項(xiàng)數(shù)依 次輸入一元多項(xiàng)式的系數(shù)和指數(shù)以相同方式輸入第二個(gè)一元多項(xiàng)式選擇操作方 式選擇降幕或開(kāi)幕排序輸出結(jié)
7、果是否退出和 8 1,22 7 , -9 8 o.測(cè)試數(shù)據(jù)。輸入的一元多項(xiàng)式系數(shù)指數(shù)分別為7 0,3 1,9 8,5 17加法結(jié)果為;開(kāi)幕降幕減法結(jié)果為:開(kāi)幕/降幕乘法結(jié)果為:開(kāi)幕/ 降幕第三章概要設(shè)計(jì)1、數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)在該程序中分別分為順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。2、算法的設(shè)計(jì)/本程序主要分為四大模塊主程序模塊輸入模塊:通過(guò)Getpolyn函數(shù)輸入/輸出模塊(開(kāi)幕降幕):PrintPolyn函數(shù)實(shí)現(xiàn)輸出數(shù)據(jù)處理模塊(多項(xiàng)式的加減乘):通過(guò)一元多項(xiàng)式的Polynomial基本操作實(shí)現(xiàn)3、抽象數(shù)據(jù)類型的設(shè)計(jì)一元多項(xiàng)式抽象數(shù)據(jù)類型的定義:抽象數(shù)據(jù)類型Polynomial的定義:第四章詳細(xì)設(shè)計(jì)#incl
8、ude#includetypedef struct float coef; fXA%d,q-,q-; i+; if(q-=0&q-!=0)printf(%.2f,q-;fXA%d,q-,q-; i+;)if(q-=0&q-!=0) if(q-0) printf(+);printf(%f,q-;)q=q-next;if(q=NULL) printf(n); break; )return 1;/*1、創(chuàng)建并初始化多項(xiàng)式鏈表*/polynomail creatpolyn(polynomail P,int m) polynomail r,q,p,s,Q;int i;P=(LNode*)malloc(s
9、izeof(LNode);r=P;for(i=0;i,&s-;r-next=s; r=s;r-next=NULL;if(P-next-next!=NULL) for(q=P-next;q!=NULL/*&q-next!=NULL*/;q=q-next)/ 合并同類項(xiàng) for(p=q-next,r=q;p!=NULL;)if(q-=p- q-=q-+p-;r-next=p-next;Q=p;p=p-next;free(Q);else r=r-next; p=p-next;return P;/*2、兩多項(xiàng)式相加*/4polynomail addpolyn(polynomail pa,polynom
10、ail pb) polynomail s,newp,q,p,r;int j;p=pa-next;q=pb-next;newp=(LNode*)malloc(sizeof(LNode);r=newp;while(p&q) s=(LNode*)malloc(sizeof(LNode);switch(cmp(p-data,q-data)case -1: s-=p-;s-=p-;r-next=s; r=s;p=p-next;break;case 0:s-=p-+q-;if(s-!= s-=p-;r-next=s;r=s;p=p-next;q=q-next;break;case 1: s-=q-;s-=
11、q-;r-next=s; r=s;q=q-next;break;/switch/whilewhile(p) s=(LNode*)malloc(sizeof(LNode);s-=p-;s-=p-;r-next=s; r=s;p=p-next;while(q) s=(LNode*)malloc(sizeof(LNode);s-=q-;s-=q-;r-next=s; r=s;q=q-next;)r-next=NULL;for(q=newp-next;q-next!=NULL;q=q-next)/ 合并同類項(xiàng) for(p=q;p!=NULL&p-next!=NULL;p=p-next)if(q-=p-
12、next- q-=q-+p-next-;r=p-next;p-next=p-next-next; free(r);)printf(升序 1 ,降序 2n);printf(選擇:);scanf(%d,&j);if(j=1) arrange1(newp);else arrange2(newp);return newp;)/*3、兩多項(xiàng)式相減*/polynomail subpolyn(polynomail pa,polynomail pb) polynomail s,newp,q,p,r,Q; int j;p=pa-next;q=pb-next;newp=(LNode*)malloc(sizeof(
13、LNode);r=newp;while(p&q) s=(LNode*)malloc(sizeof(LNode); switch(cmp(p-data,q-data) case -1:s-=p-;s-=p-;r-next=s; r=s;p=p-next;break;case 0:s-=p-;if(s-!= s-=p-;r-next=s;r=s;)p=p-next;q=q-next;break;s-=-q-;s-=q-;6r-next=s; r=s;q=q-next;break;/switch/whilewhile(p) s=(LNode*)malloc(sizeof(LNode);s-=p-;s
14、-=p-;r-next=s; r=s;p=p-next;while(q) s=(LNode*)malloc(sizeof(LNode);s-=-q-;s-=q-;r-next=s; r=s;q=q-next;r-next=NULL;if(newp-next!=NULL&newp-next-next!=NULL)/ 合并同類項(xiàng) for(q=newp-next;q!=NULL;q=q-next)for(p=q-next,r=q;p!=NULL;)if(q-=p- q-=q-+p-;r-next=p-next;Q=p;p=p-next;free(Q); else r=r-next;p=p-next;
15、 printf(升序 1 ,降序 2n);printf(選擇:);scanf(%d,&j);if(j=1) arrange1(newp);else arrange2(newp);return newp;/*4兩多項(xiàng)式相乘*/polynomail mulpolyn(polynomail pa,polynomail pb) polynomail s,newp,q,p,r;int i=20,j;newp=(LNode*)malloc(sizeof(LNode);7r=newp;for(p=pa-next;p!=NULL;p=p-next) for(q=pb-next;q!=NULL;q=q-next
16、) s=(LNode*)malloc(sizeof(LNode);s-=p-*q-;s-=p-+q-;r-next=s;r=s;r-next=NULL;printf(升序 1 ,降序 2n);printf(選擇:);scanf(%d,&j);if(j=1) arrange1(newp);else arrange2(newp);for(;i!=0;i-)for(q=newp-next;q-next!=NULL;q=q-next) 合并同類項(xiàng) for(p=q;p!=NULL&p-next!=NULL;p=p-next)if(q-=p-next- q-=q-+p-next-;r=p-next;p-n
17、ext=p-next-next; free(r);return newp;/*5、銷毀已建立的兩個(gè)多項(xiàng)式*/void delpolyn(polynomail pa,polynomail pb) polynomail p,q;p=pa;while(p!=NULL) q=p;p=p-next;free(q);p=pb;while(p!=NULL) q=p;p=p-next;free(q);printf(兩個(gè)多項(xiàng)式已經(jīng)銷毀n);8void main() polynomail pa=NULL,pb=NULL;polynomail p,q;polynomail addp=NULL,subp=NULL,m
18、ulp=NULL;int n,m;int sign=y;printf(1、創(chuàng)建兩個(gè)一元多項(xiàng)式n);printf(2、兩多項(xiàng)式相加得一新多項(xiàng)式n);printf(3、兩多項(xiàng)式相減得一新多項(xiàng)式n);printf(4、兩多項(xiàng)式相乘得一新多項(xiàng)式n);printf(5、銷毀已建立的兩個(gè)多項(xiàng)式n);printf(6、退出 n);printf(n);while(sign!=n) printf(請(qǐng)選擇:);scanf(%d,&n);switch(n)case 1:if(pa!=NULL) printf(已建立兩個(gè)一元多項(xiàng)式,請(qǐng)選擇其他操作!);break;printf(請(qǐng)輸入第一個(gè)多項(xiàng)式:n);printf(
19、要輸入幾項(xiàng):);scanf(%d,&m);while(m=0) printf(m不能為0 ,請(qǐng)重新輸入m:);scanf(%d,&m);pa=creatpolyn(pa,m);printpolyn(pa);printf(請(qǐng)輸入第二個(gè)多項(xiàng)式:n);printf(要輸入幾項(xiàng):);scanf(%d,&m);pb=creatpolyn(pb,m);printpolyn(pb);break;if(pa=NULL) printf(請(qǐng)先創(chuàng)建兩個(gè)一元多項(xiàng)式!n);break;9addp=addpolyn(pa,pb);printpolyn(addp);break;if(pa=NULL) printf(請(qǐng)先創(chuàng)建
20、兩個(gè)一元多項(xiàng)式!n);break;subp=subpolyn(pa,pb);printpolyn(subp);break;if(pa=NULL) printf(請(qǐng)先創(chuàng)建兩個(gè)一元多項(xiàng)式!n);break;mulp=mulpolyn(pa,pb);printpolyn(mulp);break;if(pa=NULL) printf(請(qǐng)先創(chuàng)建兩個(gè)一元多項(xiàng)式!n);break;delpolyn(pa,pb);pa=pb=NULL;break;if(addp!=NULL) p=addp;while(p!=NULL) q=p;p=p-next;free(q);if(subp!=NULL) p=subp;wh
21、ile(p!=NULL) q=p;p=p-next;free(q);10)exit(-2);/switch/while11第五章運(yùn)行與測(cè)試本章主要說(shuō)明:1、算法的性能分析 /2、設(shè)計(jì)了哪些測(cè)試數(shù)據(jù)?測(cè)試結(jié)果是什么?請(qǐng)考慮選取有代表性的界面貼圖說(shuō)明3、在調(diào)試程序的過(guò)程中遇到什么問(wèn)題,是如何解決的? OS式式式 cr項(xiàng)項(xiàng)項(xiàng)式 II多多多項(xiàng) 3式多 le項(xiàng)TTT個(gè) Fi元加減乘的1 二匚 rm = ih T1不-姓Os.個(gè)式式式建 pr兩項(xiàng)項(xiàng)項(xiàng)已 :建窯4;總京出 P,并就拜W半退程序開(kāi)始界面式式式 項(xiàng)項(xiàng)項(xiàng)式 參絳聶項(xiàng)多 項(xiàng)二一個(gè) 元加減乘的 一 立 個(gè)式式式建 兩項(xiàng)項(xiàng)項(xiàng)己 建多多靠出 創(chuàng)兩兩兩銷退12C: Prograia FilesKicirosof -7 8 J 1 72 9 A8 2 一 X 姍地蜘2.0 匕日l(shuí)z日匕日電分別輸入兩個(gè)多項(xiàng)式c * *C : P1r0graM FilesBiciosot Vis
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 兄弟間買房合同范本
- 企業(yè)園區(qū)修飾合同范例
- 1997施工合同范本
- 公司投資協(xié)議合同范本
- 保健品類合同范例
- 代理合同勞動(dòng)合同范例
- 2025年度工業(yè)節(jié)能技術(shù)改造項(xiàng)目合同范本
- 2025年公司銷售業(yè)務(wù)員合同試用期管理與考核協(xié)議
- 供貨合同范例范文
- 健身會(huì)員收費(fèi)合同范例
- (新版)中國(guó)動(dòng)態(tài)血壓監(jiān)測(cè)基層應(yīng)用指南(2024年)
- 2024托盤行業(yè)市場(chǎng)趨勢(shì)分析報(bào)告
- GB/T 44892-2024保險(xiǎn)業(yè)車型識(shí)別編碼規(guī)則
- 四新技術(shù)培訓(xùn)
- 人教版一年級(jí)數(shù)學(xué)2024版上冊(cè)期末測(cè)評(píng)(提優(yōu)卷一)(含答案)
- 2024年同等學(xué)力申碩英語(yǔ)考試真題
- 浙江省杭州市2024年中考語(yǔ)文試卷(含答案)
- 種植二期手種植義齒II期手術(shù)護(hù)理配合流程
- 安全隱患舉報(bào)獎(jiǎng)勵(lì)制度
- 牛津書蟲(chóng)系列1-6級(jí) 雙語(yǔ) 4B-03.金銀島中英對(duì)照
- 2024-2025學(xué)年深圳市南山區(qū)六年級(jí)數(shù)學(xué)第一學(xué)期期末學(xué)業(yè)水平測(cè)試試題含解析
評(píng)論
0/150
提交評(píng)論