版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 數(shù)據(jù)結(jié)構(gòu)課程</b></p><p><b> 設(shè)計(jì)報(bào)告</b></p><p><b> 一元多項(xiàng)式的計(jì)算</b></p><p> ——主要用到的結(jié)構(gòu)是鏈表</p><p> 班 級(jí): 軟件092班 </p
2、><p> 姓 名: </p><p> 指導(dǎo)教師: </p><p> 成 績: </p><p><b> 信息工程學(xué)院</b></p><p> 年
3、 月 日</p><p><b> 摘要</b></p><p> 本次試驗(yàn)依據(jù)江西理工大學(xué)09級(jí)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)要求,較完善的對(duì)題目進(jìn)行了分析,理解和編程,程序思路清晰,考慮全面。</p><p> 對(duì)于此題,應(yīng)該使用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)存儲(chǔ)多項(xiàng)式的信息,并根據(jù)算法用C語言編程。</p><p> 同時(shí)在本書的后
4、面附帶了一部分程序源碼和對(duì)程序的同步解釋,為了更直觀的對(duì)程序的理解,該書還運(yùn)用了框架圖,使讀者能夠更好地認(rèn)識(shí)程序。</p><p> 在用C語言編程的時(shí)候,要用到的語句主要有函數(shù)調(diào)用語句,判斷語句,輸入和輸出語句等。</p><p> 關(guān)鍵詞:一元多項(xiàng)式 線性表 指數(shù)</p><p><b> 目錄</b></p>
5、<p> 1.引言- 4 -</p><p> 2.需求分析:- 5 -</p><p> 3.概要設(shè)計(jì)- 5 -</p><p> 4.詳細(xì)設(shè)計(jì)- 7 -</p><p> 1.由大到小排序- 7 -</p><p> 2兩多項(xiàng)式相加- 7 -</p><p>
6、; 3兩多項(xiàng)式相減- 9 -</p><p> 5測(cè)試結(jié)果- 11 -</p><p> 1主菜單- 11 -</p><p> 2輸入兩個(gè)多項(xiàng)式- 11 -</p><p> 3將兩多項(xiàng)式進(jìn)行加減,并退出界面- 12 -</p><p> 6.調(diào)試分析- 12 -</p><
7、;p> 7.設(shè)計(jì)體會(huì)- 12 -</p><p> 8.結(jié)束語- 13 -</p><p> 9.參考文獻(xiàn)- 13 -</p><p> 10.附錄- 13 -</p><p><b> 一元多項(xiàng)式的計(jì)算</b></p><p><b> 1.引言</b&
8、gt;</p><p> 本次課程設(shè)計(jì)的目的:是對(duì)數(shù)據(jù)結(jié)構(gòu)所學(xué)內(nèi)容的進(jìn)一步的理解與鞏固,是將計(jì)算機(jī)課程與實(shí)際問題相聯(lián)接的關(guān)鍵步驟。通過課程設(shè)計(jì),能夠提高分析問題、解決問題,從而運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的能力。</p><p> 實(shí)驗(yàn)環(huán)境:Window 2000及以上,c-free所有版本,Turbo2.0</p><p><b> 實(shí)驗(yàn)的任務(wù)要求:&
9、lt;/b></p><p><b> 任務(wù):</b></p><p> 能夠按照指數(shù)降序排列建立并輸出多項(xiàng)式;</p><p> 能夠完成兩個(gè)多項(xiàng)式的相加、相減,并將結(jié)果輸入</p><p><b> 要求:</b></p><p><b> 完成
10、需求分析</b></p><p><b> 畫框架圖</b></p><p><b> 編寫算法</b></p><p><b> 用C語言編寫程序</b></p><p><b> 調(diào)試</b></p><p>
11、;<b> 2.需求分析:</b></p><p> 建立一元多項(xiàng)式并按照指數(shù)降序排列輸出多項(xiàng)式,將一元多項(xiàng)式輸入并存儲(chǔ)在內(nèi)存中,能夠完成兩個(gè)多項(xiàng)式的加減運(yùn)算并輸出結(jié)果</p><p><b> 3.概要設(shè)計(jì)</b></p><p> 存儲(chǔ)結(jié)構(gòu):一元多項(xiàng)式的表示在計(jì)算機(jī)內(nèi)可以用鏈表來表示,為了節(jié)省存儲(chǔ)空間,只存儲(chǔ)多
12、項(xiàng)式中系數(shù)非零的項(xiàng)。鏈表中的每一個(gè)結(jié)點(diǎn)存放多項(xiàng)式的一個(gè)系數(shù)非零項(xiàng),它包含三個(gè)域,分別存放該項(xiàng)的系數(shù)、指數(shù)以及指向下一個(gè)多項(xiàng)式項(xiàng)結(jié)點(diǎn)的指針。創(chuàng)建一元多項(xiàng)式鏈表,對(duì)一元多項(xiàng)式的運(yùn)算中會(huì)出現(xiàn)的各種可能情況進(jìn)行分析,實(shí)現(xiàn)一元多項(xiàng)式的相加、相減操作。</p><p> 基本算法分析與設(shè)計(jì):</p><p> 1.程序的基本功能: </p><p> (1) 創(chuàng)建兩個(gè)一元
13、多項(xiàng)式 </p><p> (2) 兩個(gè)多項(xiàng)式相加,得到一個(gè)新的多項(xiàng)式 ,可以按指數(shù)選擇排序方式</p><p> (3) 兩個(gè)多項(xiàng)式相減,得到一個(gè)新的多項(xiàng)式,可以按指數(shù)選擇排序方式</p><p><b> (4)退出</b></p><p><b> 2.系統(tǒng)總框圖</b></p&
14、gt;<p> 3.定義的函數(shù)及說明</p><p> compare(term a,term )比較指數(shù)</p><p> arrange(polynomail pa)由大到小排序</p><p> print(polynomail P)輸出多項(xiàng)式,求項(xiàng)數(shù)</p><p> creat(polynomail P,in
15、t m) 創(chuàng)建并初始化多項(xiàng)式鏈表</p><p> add(polynomail pa,polynomail pb)兩多項(xiàng)式相加</p><p> sub(polynomail pa,polynomail pb)兩多項(xiàng)式相減</p><p><b> 4.詳細(xì)設(shè)計(jì)</b></p><p><b> 1.
16、由大到小排序</b></p><p> void arrange(polynomail pa)</p><p> { polynomail h=pa,p,q,r;</p><p> if(pa==NULL) exit(-2);</p><p> for(p=pa;p->next!=NULL;p=p->next
17、); r=p;</p><p> for(h=pa;h->next!=r;)//小的沉底</p><p> { for(p=h;p->next!=r&&p!=r;p=p->next)</p><p> if(compare(p->next->next->data,p->next->data)==
18、1)</p><p> { q=p->next->next;</p><p> p->next->next=q->next;</p><p> q->next=p->next;</p><p> p->next=q;</p><p><b> }<
19、;/b></p><p><b> r=p;</b></p><p><b> } }</b></p><p><b> }</b></p><p><b> 2兩多項(xiàng)式相加</b></p><p> polynom
20、ail add(polynomail pa,polynomail pb)</p><p> { polynomail s,newp,q,p,r;int j;</p><p> p=pa->next;q=pb->next;</p><p> newp=(LNode*)malloc(sizeof(LNode));</p><p>
21、;<b> r=newp;</b></p><p> while(p&&q)</p><p> { s=(LNode*)malloc(sizeof(LNode));</p><p> switch(compare(p->data,q->data))</p><p> {case -1
22、: s->data.coef=p->data.coef;</p><p> s->data.expn=p->data.expn;</p><p> r->next=s; r=s;</p><p> p=p->next;</p><p><b> break;</b><
23、/p><p> case 0: s->data.coef=p->data.coef+q->data.coef;</p><p> if(s->data.coef!=0.0)</p><p> { s->data.expn=p->data.expn;</p><p> r->next=s;<
24、/p><p><b> r=s;</b></p><p><b> }</b></p><p> p=p->next;</p><p> q=q->next;</p><p><b> break;</b></p><
25、;p> case 1: s->data.coef=q->data.coef;</p><p> s->data.expn=q->data.expn;</p><p> r->next=s; r=s;</p><p> q=q->next;</p><p><b> break
26、;</b></p><p><b> }//switch</b></p><p><b> }//while</b></p><p><b> while(p)</b></p><p> { s=(LNode*)malloc(sizeof(LNode));&
27、lt;/p><p> s->data.coef=p->data.coef;</p><p> s->data.expn=p->data.expn;</p><p> r->next=s; r=s;</p><p> p=p->next;</p><p><b> }
28、</b></p><p><b> while(q)</b></p><p> { s=(LNode*)malloc(sizeof(LNode));</p><p> s->data.coef=q->data.coef;</p><p> s->data.expn=q->dat
29、a.expn;</p><p> r->next=s; r=s;</p><p> q=q->next;</p><p><b> }</b></p><p> r->next=NULL;</p><p> for(q=newp->next;q->nex
30、t!=NULL;q=q->next)</p><p> for(p=q;p!=NULL&&p->next!=NULL;p=p->next)</p><p> if(q->data.expn==p->next->data.expn)</p><p> { q->data.coef=q->data.c
31、oef+p->next->data.coef;</p><p> r=p->next;</p><p> p->next=p->next->next;</p><p><b> free(r);</b></p><p><b> }</b></p&g
32、t;<p> arrange(newp);</p><p> return newp;</p><p><b> }</b></p><p><b> 3兩多項(xiàng)式相減</b></p><p> polynomail sub(polynomail pa,polynomail p
33、b)</p><p> { polynomail s,newp,q,p,r,Q; int j;</p><p> p=pa->next;q=pb->next;</p><p> newp=(LNode*)malloc(sizeof(LNode));</p><p><b> r=newp;</b>&l
34、t;/p><p> while(p&&q)</p><p> { s=(LNode*)malloc(sizeof(LNode));</p><p> switch(compare(p->data,q->data))</p><p> {case -1: s->data.coef=p->data.c
35、oef;</p><p> s->data.expn=p->data.expn;</p><p> r->next=s; r=s;</p><p> p=p->next;</p><p><b> break;</b></p><p> case 0: s
36、->data.coef=p->data.coef-q->data.coef;</p><p> if(s->data.coef!=0.0)</p><p> { s->data.expn=p->data.expn;</p><p> r->next=s;</p><p><b> r
37、=s;</b></p><p><b> }</b></p><p> p=p->next;</p><p> q=q->next;</p><p><b> break;</b></p><p> case 1: s->data.
38、coef=-q->data.coef;</p><p> s->data.expn=q->data.expn;</p><p> r->next=s; r=s;</p><p> q=q->next;</p><p><b> break;</b></p><p
39、><b> }//switch</b></p><p><b> }//while</b></p><p><b> while(p)</b></p><p> { s=(LNode*)malloc(sizeof(LNode));</p><p> s->
40、data.coef=p->data.coef;</p><p> s->data.expn=p->data.expn;</p><p> r->next=s; r=s;</p><p> p=p->next;</p><p><b> }</b></p><p&
41、gt;<b> while(q)</b></p><p> { s=(LNode*)malloc(sizeof(LNode));</p><p> s->data.coef=-q->data.coef;</p><p> s->data.expn=q->data.expn;</p><p>
42、; r->next=s; r=s;</p><p> q=q->next;</p><p><b> }</b></p><p> r->next=NULL;</p><p> if(newp->next!=NULL&&newp->next->next!=N
43、ULL)</p><p> { for(q=newp->next;q!=NULL;q=q->next)</p><p> for(p=q->next,r=q;p!=NULL;)</p><p> if(q->data.expn==p->data.expn)</p><p> { q->data.co
44、ef=q->data.coef+p->data.coef;</p><p> r->next=p->next;</p><p> Q=p;p=p->next;</p><p> free(Q); }</p><p><b> else</b></p><p>
45、 { r=r->next;</p><p> p=p->next; }</p><p><b> }</b></p><p> arrange(newp);</p><p> return newp;}</p><p><b> 5測(cè)試結(jié)果</b>&l
46、t;/p><p><b> 1主菜單</b></p><p><b> 2輸入兩個(gè)多項(xiàng)式</b></p><p> 3將兩多項(xiàng)式進(jìn)行加減,并退出界面</p><p><b> 結(jié)果表示程序可行。</b></p><p><b> 6.調(diào)試
47、分析</b></p><p> 本次實(shí)驗(yàn)程序少,功能也存在不足。</p><p> 1.當(dāng)在菜單界面,要選擇操作時(shí),不選菜單中的操作代號(hào),程序只叫你再次選擇,但不會(huì)出現(xiàn)字幕提示。</p><p> 2.準(zhǔn)確的說只能實(shí)現(xiàn)兩個(gè)功能就是加減,降次輸出是默認(rèn),所以本程序只是實(shí)現(xiàn)了任務(wù)要求,沒有考慮到在此基礎(chǔ)上拓展功能。</p><p&g
48、t;<b> 解決之道:</b></p><p> 深入學(xué)習(xí)編程語言,多研讀別人寫的好的程序,同時(shí)多看書。</p><p><b> 7.設(shè)計(jì)體會(huì)</b></p><p> 1.經(jīng)過這次課程設(shè)計(jì),我對(duì)數(shù)據(jù)結(jié)構(gòu)這門課程有了進(jìn)一步的理解,對(duì)C編程有了一定的提高。另外也提高了我分析問題、解決問題,從而運(yùn)用所學(xué)知識(shí)解決實(shí)際
49、問題的能力。</p><p> 2.通過這次課程設(shè)計(jì),我發(fā)現(xiàn)了自己平時(shí)學(xué)數(shù)據(jù)結(jié)構(gòu)這門課還有很多沒有注意到的地方。雖然說這次的課題順利完成了,但我對(duì)數(shù)據(jù)結(jié)構(gòu)這門課的學(xué)習(xí)還沒有完成,以后還必須對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行復(fù)習(xí)鞏固。</p><p> 3.以前在數(shù)據(jù)結(jié)構(gòu)這門課上,我學(xué)到的僅僅是理論知識(shí),但這次的課程設(shè)計(jì)讓我感受到課上的東西用到實(shí)際問題的難處。在今后對(duì)計(jì)算機(jī)方面知識(shí)的學(xué)習(xí)中,我要注意理論聯(lián)系
50、實(shí)際,這樣才可以把學(xué)到的東西運(yùn)用出來,真正的做到學(xué)以致用!</p><p><b> 8.結(jié)束語</b></p><p> 感謝我的數(shù)據(jù)結(jié)構(gòu)老師董躍華在以往的基礎(chǔ)課學(xué)習(xí)中為我打下良好的基礎(chǔ),這是我這次課程設(shè)計(jì)能夠順利完成的前提。</p><p> 感謝學(xué)校能夠給我們提供這么好的機(jī)房,使我有地方上網(wǎng)查資料,能夠有地方做這次課程設(shè)計(jì)。<
51、/p><p> 我也很感謝我的同學(xué),我完成我的程序之后,請(qǐng)他們幫我調(diào)試,提了不少寶貴的意見,使我的程序有了進(jìn)一步的完善。</p><p><b> 9.參考文獻(xiàn)</b></p><p> 譚浩強(qiáng) 《C語言程序設(shè)計(jì)》(第三版 )清華大學(xué)出版社</p><p> 嚴(yán)慰敏. 《數(shù)據(jù)結(jié)構(gòu)》(C語言版). 清華大學(xué)出版社&
52、lt;/p><p><b> 10.附錄</b></p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p> typedef struct</p><p> { float coef; //系數(shù)&
53、lt;/p><p> int expn; //指數(shù)</p><p><b> }term;</b></p><p> typedef struct LNode</p><p> { term data;</p><p> struct LNode *next;</p>
54、<p> }LNode,*LinkList;</p><p> typedef LinkList polynomail;</p><p> int compare(term a,term b)</p><p> { if(a.expn>b.expn) return 1;</p><p> if(a.expn==b.e
55、xpn) return 0;</p><p> if(a.expn<b.expn) return -1;</p><p> else exit(-2);</p><p><b> }</b></p><p> void arrange(polynomail pa)</p><p>
56、 { polynomail h=pa,p,q,r;</p><p> if(pa==NULL) exit(-2);</p><p> for(p=pa;p->next!=NULL;p=p->next); r=p;</p><p> for(h=pa;h->next!=r;)</p><p> { for(p=h;
57、p->next!=r&&p!=r;p=p->next)</p><p> if(compare(p->next->next->data,p->next->data)==1)</p><p> { q=p->next->next;</p><p> p->next->next=q-
58、>next;</p><p> q->next=p->next;</p><p> p->next=q;</p><p><b> }</b></p><p><b> r=p;</b></p><p><b> } }</b
59、></p><p> int print(polynomail P)</p><p><b> { int i;</b></p><p> polynomail q;</p><p> if(P==NULL) printf("無項(xiàng)!\n");</p>
60、<p> else if(P->next==NULL) printf("Y=0\n");</p><p><b> else</b></p><p> { printf("該多項(xiàng)式為Y=");q=P->next;i=1;</p><p> if(q->data.coe
61、f!=0&&q->data.expn!=0)</p><p> { printf("%.2fX^%d",q->data.coef,q->data.expn); i++; }</p><p> if(q->data.expn==0&&q->data.coef!=0)</p><p>
62、 printf("%.2f",q->data.coef);</p><p> q=q->next;</p><p> if(q==NULL)</p><p> {printf("\n");return 1;}</p><p><b> while(1)</b>
63、</p><p> { if(q->data.coef!=0&&q->data.expn!=0)</p><p> { if(q->data.coef>0) printf("+");</p><p> printf("%.2fX^%d",q->data.coef,q->
64、;data.expn); i++;</p><p><b> }</b></p><p> if(q->data.expn==0&&q->data.coef!=0)</p><p> { if(q->data.coef>0) printf("+");</p>&l
65、t;p> printf("%f",q->data.coef);</p><p><b> }</b></p><p> q=q->next;</p><p> if(q==NULL)</p><p> { printf("\n"); break; }&l
66、t;/p><p><b> }</b></p><p><b> }</b></p><p><b> return 1;</b></p><p><b> }</b></p><p> polynomail creat(po
67、lynomail P,int m)</p><p> { polynomail r,q,p,s,Q;</p><p><b> int i;</b></p><p> P=(LNode*)malloc(sizeof(LNode));</p><p><b> r=P;</b></p&g
68、t;<p> for(i=0;i<m;i++)</p><p> { s=(LNode*)malloc(sizeof(LNode));</p><p> printf("請(qǐng)輸入第%d項(xiàng)的系數(shù)和指數(shù):",i+1);</p><p> scanf("%f%d",&s->data.coef,
69、&s->data.expn);</p><p> r->next=s; r=s;</p><p><b> }</b></p><p> r->next=NULL;</p><p> if(P->next->next!=NULL)</p><p>
70、{ for(q=P->next;q!=NULL/*&&q->next!=NULL*/;q=q->next)</p><p> for(p=q->next,r=q;p!=NULL;)</p><p> if(q->data.expn==p->data.expn)</p><p> { q->data.co
71、ef=q->data.coef+p->data.coef;</p><p> r->next=p->next;</p><p> Q=p;p=p->next;</p><p><b> free(Q);</b></p><p><b> }</b></p&
72、gt;<p><b> else</b></p><p> { r=r->next;</p><p> p=p->next;</p><p><b> }</b></p><p><b> }</b></p><p>
73、<b> return P;</b></p><p><b> }</b></p><p> polynomail add(polynomail pa,polynomail pb)</p><p> { polynomail s,newp,q,p,r;int j;</p><p> p=p
74、a->next;q=pb->next;</p><p> newp=(LNode*)malloc(sizeof(LNode));</p><p><b> r=newp;</b></p><p> while(p&&q)</p><p> { s=(LNode*)malloc(size
75、of(LNode));</p><p> switch(compare(p->data,q->data))</p><p> {case -1: s->data.coef=p->data.coef;</p><p> s->data.expn=p->data.expn;</p><p> r->
76、;next=s; r=s;</p><p> p=p->next;</p><p><b> break;</b></p><p> case 0: s->data.coef=p->data.coef+q->data.coef;</p><p> if(s->data.coef
77、!=0.0)</p><p> { s->data.expn=p->data.expn;</p><p> r->next=s;</p><p><b> r=s;</b></p><p><b> }</b></p><p> p=p->n
78、ext;</p><p> q=q->next;</p><p><b> break;</b></p><p> case 1: s->data.coef=q->data.coef;</p><p> s->data.expn=q->data.expn;</p>&l
79、t;p> r->next=s; r=s;</p><p> q=q->next;</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p>
80、;<b> while(p)</b></p><p> { s=(LNode*)malloc(sizeof(LNode));</p><p> s->data.coef=p->data.coef;</p><p> s->data.expn=p->data.expn;</p><p>
81、r->next=s; r=s;</p><p> p=p->next;</p><p><b> }</b></p><p><b> while(q)</b></p><p> { s=(LNode*)malloc(sizeof(LNode));</p><
82、;p> s->data.coef=q->data.coef;</p><p> s->data.expn=q->data.expn;</p><p> r->next=s; r=s;</p><p> q=q->next;</p><p><b> }</b><
83、;/p><p> r->next=NULL;</p><p> for(q=newp->next;q->next!=NULL;q=q->next)</p><p> for(p=q;p!=NULL&&p->next!=NULL;p=p->next)</p><p> if(q->d
84、ata.expn==p->next->data.expn)</p><p> { q->data.coef=q->data.coef+p->next->data.coef;</p><p> r=p->next;</p><p> p->next=p->next->next;</p>&
85、lt;p><b> free(r);</b></p><p><b> }</b></p><p> arrange(newp);</p><p> return newp;</p><p><b> }</b></p><p> po
86、lynomail sub(polynomail pa,polynomail pb)</p><p> { polynomail s,newp,q,p,r,Q; int j;</p><p> p=pa->next;q=pb->next;</p><p> newp=(LNode*)malloc(sizeof(LNode));</p>
87、<p><b> r=newp;</b></p><p> while(p&&q)</p><p> { s=(LNode*)malloc(sizeof(LNode));</p><p> switch(compare(p->data,q->data))</p><p>
88、{case -1: s->data.coef=p->data.coef;</p><p> s->data.expn=p->data.expn;</p><p> r->next=s; r=s;</p><p> p=p->next;</p><p><b> break;</
89、b></p><p> case 0: s->data.coef=p->data.coef-q->data.coef;</p><p> if(s->data.coef!=0.0)</p><p> { s->data.expn=p->data.expn;</p><p> r->n
90、ext=s;</p><p><b> r=s;</b></p><p><b> }</b></p><p> p=p->next;</p><p> q=q->next;</p><p><b> break;</b></
91、p><p> case 1: s->data.coef=-q->data.coef;</p><p> s->data.expn=q->data.expn;</p><p> r->next=s; r=s;</p><p> q=q->next;</p><p><b
92、> break;</b></p><p><b> }//switch</b></p><p><b> }//while</b></p><p><b> while(p)</b></p><p> { s=(LNode*)malloc(sizeo
93、f(LNode));</p><p> s->data.coef=p->data.coef;</p><p> s->data.expn=p->data.expn;</p><p> r->next=s; r=s;</p><p> p=p->next;</p><p>&
94、lt;b> }</b></p><p><b> while(q)</b></p><p> { s=(LNode*)malloc(sizeof(LNode));</p><p> s->data.coef=-q->data.coef;</p><p> s->data.ex
95、pn=q->data.expn;</p><p> r->next=s; r=s;</p><p> q=q->next;</p><p><b> }</b></p><p> r->next=NULL;</p><p> if(newp->next!=
96、NULL&&newp->next->next!=NULL)</p><p> { for(q=newp->next;q!=NULL;q=q->next)</p><p> for(p=q->next,r=q;p!=NULL;)</p><p> if(q->data.expn==p->data.expn
97、)</p><p> { q->data.coef=q->data.coef+p->data.coef;</p><p> r->next=p->next;</p><p> Q=p;p=p->next;</p><p> free(Q); }</p><p><b&g
98、t; else</b></p><p> { r=r->next;</p><p> p=p->next; }</p><p><b> }</b></p><p> arrange(newp);</p><p> return newp;}</p>
99、<p> void main()</p><p> { polynomail pa=NULL,pb=NULL;</p><p> polynomail p,q;</p><p> polynomail addp=NULL,subp=NULL;</p><p><b> int n,m;</b>&l
100、t;/p><p> int sign='y';</p><p> printf("*****************************************************\n");</p><p> printf("*** 菜 單
101、 ***\n");</p><p> printf("*** 1、創(chuàng)建兩個(gè)一元多項(xiàng)式 ***\n");</p><p> printf("*** 2、兩多項(xiàng)式相加得一新多項(xiàng)式 ***\n");</p><p> prin
102、tf("*** 3、兩多項(xiàng)式相減得一新多項(xiàng)式 ***\n");</p><p> printf("*** 4、退出 ***\n");</p><p> printf("*****************************
103、************************\n");</p><p> printf("\n");</p><p> while(sign!='n')</p><p> { printf("請(qǐng)選擇:");</p><p> scanf("%d"
104、,&n);</p><p><b> switch(n)</b></p><p><b> {case 1:</b></p><p> if(pa!=NULL)</p><p> { printf("已建立兩個(gè)一元多項(xiàng)式,請(qǐng)選擇其他操作!");</p>
105、<p><b> break;</b></p><p><b> }</b></p><p> printf("請(qǐng)輸入第一個(gè)多項(xiàng)式:\n");</p><p> printf("要輸入幾項(xiàng):");</p><p> scanf(&quo
106、t;%d",&m);</p><p> while(m==0)</p><p> { printf("m不能為0,請(qǐng)重新輸入m:");</p><p> scanf("%d",&m);</p><p><b> }</b></p>&
107、lt;p> pa=creatpolyn(pa,m);</p><p> print(pa);</p><p> printf("請(qǐng)輸入第二個(gè)多項(xiàng)式:\n");</p><p> printf("要輸入幾項(xiàng):");</p><p> scanf("%d",&m)
108、;</p><p> pb=creatpolyn(pb,m);</p><p> print(pb);</p><p><b> break;</b></p><p><b> case 2:</b></p><p> if(pa==NULL)</p>
109、<p> { printf("請(qǐng)先創(chuàng)建兩個(gè)一元多項(xiàng)式!\n");</p><p><b> break;</b></p><p><b> }</b></p><p> addp=add(pa,pb);</p><p> print(addp);</p
110、><p><b> break;</b></p><p><b> case 3:</b></p><p> if(pa==NULL)</p><p> { printf("請(qǐng)先創(chuàng)建兩個(gè)一元多項(xiàng)式!\n");</p><p><b> br
111、eak;</b></p><p><b> }</b></p><p> subp=sub(pa,pb);</p><p> print(subp);</p><p><b> break;</b></p><p><b> case 4:&l
112、t;/b></p><p> if(addp!=NULL)</p><p><b> { p=addp;</b></p><p> while(p!=NULL)</p><p><b> { q=p;</b></p><p> p=p->next;<
113、;/p><p><b> free(q);</b></p><p><b> }</b></p><p><b> }</b></p><p> if(subp!=NULL)</p><p><b> { p=subp;</b>
114、;</p><p> while(p!=NULL)</p><p><b> { q=p;</b></p><p> p=p->next;</p><p><b> free(q);</b></p><p><b> }</b></
115、p><p><b> }</b></p><p><b> exit(-2);</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b>&l
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 一元多項(xiàng)式的計(jì)算數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 一元多項(xiàng)式計(jì)算(數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì))
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---一元多項(xiàng)式計(jì)算
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告一元多項(xiàng)式的計(jì)算
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告一元多項(xiàng)式的計(jì)算
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告一元多項(xiàng)式的計(jì)算
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---一元多項(xiàng)式
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告一元多項(xiàng)式的計(jì)算[1]
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----一元多項(xiàng)式
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-一元多項(xiàng)式計(jì)算器
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告一元多項(xiàng)式的實(shí)現(xiàn)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告一元稀疏多項(xiàng)式計(jì)算器
- 《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)》報(bào)告---一元稀疏多項(xiàng)式計(jì)算器
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告-一元多項(xiàng)式加減運(yùn)算
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告-一元多項(xiàng)式加減運(yùn)算
- 一元多項(xiàng)式的計(jì)算問題-數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--一元稀疏多項(xiàng)式計(jì)算器
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--一元多項(xiàng)式計(jì)算問題(c語言)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---一元稀疏多項(xiàng)式計(jì)算器
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-一元多項(xiàng)式的代數(shù)運(yùn)算
評(píng)論
0/150
提交評(píng)論