




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、湖南工學(xué)院課程設(shè)計(jì)一元多項(xiàng)式計(jì)算班級(jí):信息本1002學(xué)號(hào): 09姓名:班級(jí):信息本1002學(xué)號(hào):26姓名:班級(jí):信息本1002學(xué)號(hào):34姓名:班級(jí):信息本1002學(xué)號(hào):41姓名:目 錄一、課題任務(wù)1二、概要設(shè)計(jì)1三、詳細(xì)設(shè)計(jì)2四、調(diào)試分析6五、測(cè)試結(jié)果6六、課程設(shè)計(jì)總結(jié)9七、參考文獻(xiàn)9八、附錄10一、課題任務(wù)功能: 1)能夠按照指數(shù)降序排列建立并輸出多項(xiàng)式; 2)能夠完成兩個(gè)多項(xiàng)式的相加,并將結(jié)果輸出; 3)能根據(jù)輸入的多項(xiàng)式及變量的值,能進(jìn)行計(jì)算。并輸出計(jì)算結(jié)果。 4)能對(duì)多個(gè)輸入的表達(dá)式按照指數(shù)大小排序輸出。二、概要設(shè)計(jì)一元多項(xiàng)式計(jì)算系統(tǒng)降序排列建立并輸出多項(xiàng)式多項(xiàng)式的相加減并輸出結(jié)果輸入
2、的多項(xiàng)式及變量的值計(jì)算多個(gè)表達(dá)式按照指數(shù)大小排序輸出按指數(shù)排序建立多項(xiàng)式相減建立多項(xiàng)式相加計(jì)算多項(xiàng)式建立多個(gè)多項(xiàng)式輸出多式項(xiàng)或計(jì)算值排序后輸出多個(gè)多項(xiàng)式排序三、詳細(xì)設(shè)計(jì)一元多項(xiàng)式定義系數(shù)和指數(shù)結(jié)構(gòu)如下: coefexpnnextcoef域-存放結(jié)點(diǎn)的系數(shù)值expn域-存放結(jié)點(diǎn)的指數(shù)值next域-存放結(jié)點(diǎn)的直接后繼的地址(位置)的指針域(鏈域)一元多項(xiàng)式單鏈表存儲(chǔ)結(jié)構(gòu):typedef struct term float coef; /系數(shù) int expn; /指數(shù) struct term *next; term;有了鏈表特定的數(shù)據(jù)類型term,接下來就需要建立這個(gè)鏈表。這里我們自定義一個(gè)構(gòu)造函
3、數(shù)CreatePoly()來構(gòu)造鏈表。首先定義一個(gè)term型的指針變量h=p作為頭結(jié)點(diǎn),存儲(chǔ)多項(xiàng)式的信息(項(xiàng)數(shù)),為h分配存儲(chǔ)空間建立一個(gè)頭結(jié)點(diǎn)并為其數(shù)據(jù)域賦值,分配存儲(chǔ)空間用malloc()函數(shù)來實(shí)現(xiàn);這時(shí)輸入多項(xiàng)式的項(xiàng)數(shù)m,先給p的coef賦值為0,此時(shí)利用一個(gè)for循環(huán)將p鏈表的coef與expn值從鍵盤輸入,用m來控制循環(huán)的次數(shù),若該從鍵盤輸入的coef值不為0,則將該數(shù)值插入鏈表新建鏈表q,用malloc()分配給p空間,p=p->next繼續(xù)從鍵盤輸入coef與expn的值,直到滿足p->next=null,輸入完成,返回鏈表q即為多項(xiàng)式的系數(shù)與指數(shù),創(chuàng)建多項(xiàng)式完成。在
4、處理多項(xiàng)式相加的問題上,由于事先建立的多項(xiàng)式函數(shù)已經(jīng)按指數(shù)大小排好序,那么多項(xiàng)式的相加就變得不那么復(fù)雜了,我們只要找出兩個(gè)相加多項(xiàng)式指數(shù)相同的項(xiàng)進(jìn)行合并,即將指數(shù)相同的項(xiàng)的系數(shù)相加,其它的保持不變存好即可。而查找指數(shù)相同的項(xiàng),只要按鏈表從頭到尾進(jìn)行掃描,若發(fā)現(xiàn)相同,則兩個(gè)同時(shí)往下移,否則只將其中指數(shù)較大的往下移。假若兩個(gè)指數(shù)相同的項(xiàng)進(jìn)行合并時(shí),其系數(shù)相加值為0,則消除該項(xiàng),繼續(xù)下去。在處理輸入的多項(xiàng)式及變量的值計(jì)算結(jié)果的問題時(shí),定義一個(gè)C()函數(shù)實(shí)現(xiàn),需要定義一個(gè)float變量sum來存儲(chǔ)和值,再引用一個(gè)pow()函數(shù)來計(jì)算多項(xiàng)式的和,利用一個(gè)for循環(huán)來一一計(jì)算x的q->expn次方后
5、與q->coef相乘的值,并存儲(chǔ)在sum中,q=q->next,直到q->next =unll,跳出for循環(huán),返回 sum的值就是多項(xiàng)式在用x賦值后的值。對(duì)多個(gè)輸入的表達(dá)式按照指數(shù)從大到小排序輸出:,利用一個(gè)for(包含兩個(gè)函數(shù)CreatPolyn(M,n);selsort(M);)循環(huán),用scanf()輸入k來控制for的次數(shù)可控制輸入的多項(xiàng)式個(gè)數(shù),并一個(gè)trem型數(shù)組Gi來保存每一個(gè)多項(xiàng)式,方便后來的按最高指數(shù)大小排序。排序的思想利用枚舉排序法可將每個(gè)多項(xiàng)式最高次expn按從大到小排列并保存在Gi數(shù)組中,再次利用for將排序好的Gi多項(xiàng)式按指數(shù)從大到小輸出。開始具體子功
6、能流程圖如下:輸入變量x的值Nq不空Ysum+=q->coef*pow(x,q->expn)q=q->nextreturn sum;完成多項(xiàng)式計(jì)算輸出多項(xiàng)式的計(jì)算開始從鍵盤輸入項(xiàng)數(shù)mm<=0返回空定義存儲(chǔ)多項(xiàng)式數(shù)據(jù)類型term動(dòng)態(tài)分配空間完成建立多項(xiàng)式降次排序輸出YN 多項(xiàng)式的建立 按指數(shù)排序?qū)個(gè)有序多項(xiàng)式用數(shù)組G i保存輸入多項(xiàng)式個(gè)數(shù)k輸出開始開始定義存儲(chǔ)和鏈表h動(dòng)態(tài)分配空間Pb=Pb->coef*(-1)兩多項(xiàng)式相加輸出Pb?Pb=pb->nextYN 多個(gè)多項(xiàng)式排序 多項(xiàng)式相減 定義存儲(chǔ)和鏈表h動(dòng)態(tài)分配空間Pa&&Pb?C=a->
7、;expn - b->expnh=UNLL返回系統(tǒng)C>=1C>=0h=Pb Pb = Pb->next;h=Pa Pa = Pa->next;sum = Pa->coef + Pb->coef;sum=0Pa->coef = sum;h=Pa;Pa=Pa->next;Pa = Pa->next;Pa=0Pb=0h->next = Pa;h->next = Pa;h = h->next;Return hNYNYNYNYYNYYNN輸出開始完成多項(xiàng)式相加調(diào)用函數(shù)查找同類項(xiàng)同類項(xiàng)系數(shù)相加進(jìn)行合并合并后檢查a b掃描是否完整
8、輸出多項(xiàng)式q流程圖:putchar(1)printf(“x%d”,q->expn)Putchar(x)q->expn=0p=p->nextputchar (0);開始printf(“%g”,q->coef)q!=UNLLq->coef!=1q->expn=1q->coef>=0q!=UNLLPutchar(+)退出 N Y N Y Y N Y N Y N Y N多項(xiàng)式輸出主要是對(duì)已建立的多項(xiàng)式按鏈表從頭到尾掃描指數(shù)跟系數(shù)進(jìn)行多重判斷,根據(jù)指數(shù)和系數(shù)輸出相應(yīng)的數(shù)值與符號(hào),直到多項(xiàng)式輸出完成。四、調(diào)試分析程序的調(diào)試是程序順利完成中非常關(guān)鍵的一步。通過
9、程序的調(diào)試分析可以解決程序的運(yùn)行錯(cuò)誤也可以對(duì)程序的性能進(jìn)行分析。這個(gè)多項(xiàng)式運(yùn)算問題研究的程序最重要的就是看輸出的鏈表是否正確,是否帶有空結(jié)點(diǎn),運(yùn)行結(jié)果輸出是否正確。決定程序成功與否的第一步是定義的CreatPolyn()函數(shù)操作是否正確,如果這一步中出現(xiàn)錯(cuò)誤,那么接下來的操作可以說是錯(cuò)上加錯(cuò)。在調(diào)試的時(shí)候可以在程序中加入刪除、釋放空結(jié)點(diǎn)操作,此操作是由Delet()與free()函數(shù)完成的,若輸出的多項(xiàng)式?jīng)]有空結(jié)點(diǎn)說明函數(shù)正確,可以繼續(xù)向下進(jìn)行。接下來就是函數(shù)相加,控制此操作的關(guān)鍵是一個(gè)A ()函數(shù),其中調(diào)用APolyn()函數(shù)是決定成功與否的關(guān)鍵,而函數(shù)的相減正是相加一個(gè)負(fù)數(shù),將減數(shù)多項(xiàng)式的
10、coef變?yōu)樨?fù)值便實(shí)現(xiàn)了多項(xiàng)式的相減??梢韵仍诒旧蠈懗鰞蓚€(gè)正確的簡(jiǎn)單的多項(xiàng)式,使其具有相加后出現(xiàn)空結(jié)點(diǎn)的特點(diǎn),然后變換循環(huán)變量的范圍,當(dāng)輸出吻合時(shí)則說明操作正確。對(duì)于根據(jù)輸入的多項(xiàng)式及變量的值進(jìn)行計(jì)算,控制此操作的關(guān)鍵是如何計(jì)算多項(xiàng)式中多次方的值,此操作關(guān)鍵是一個(gè)C()函數(shù),調(diào)用pow()函數(shù)來實(shí)現(xiàn)計(jì)算次方的功能,其中sum值的計(jì)算是否正確起關(guān)鍵作用。而對(duì)多個(gè)輸入的表達(dá)式按照指數(shù)從大到小排序輸出,這個(gè)主要是用到了一個(gè)trem型數(shù)組對(duì)各已按指數(shù)排序好的多項(xiàng)式保存,然后對(duì)數(shù)組中的每個(gè)多項(xiàng)式的第一個(gè)p->expn值利用枚舉排序法進(jìn)行比較將多項(xiàng)式排序。各個(gè)關(guān)鍵部分都已檢查完畢,剩下的就是對(duì)程序的
11、進(jìn)一步細(xì)心的完善化、美觀化、清晰化直到滿足要求。下面我們分析一下程序的性能。在主函數(shù)中,首先調(diào)用構(gòu)造單鏈表函數(shù)CreatePoly(),在這個(gè)函數(shù)中需要通過一個(gè)for循環(huán)為每個(gè)結(jié)點(diǎn)分配存儲(chǔ)空間,變換節(jié)點(diǎn)的next域,時(shí)間復(fù)雜度為O(n)。接下來執(zhí)行selsort()函數(shù)對(duì)多項(xiàng)式進(jìn)行按指數(shù)排序,其中一個(gè)雙重for循環(huán),在內(nèi)部的for循環(huán)中是對(duì)相鄰結(jié)點(diǎn)指數(shù)大小比較進(jìn)行操作,所以每個(gè)結(jié)點(diǎn)的操作都需要m次,共n個(gè)結(jié)點(diǎn),則需要mn次操作,時(shí)間復(fù)雜度為O(nn)。其后的for循環(huán)是比較將指數(shù)相同的數(shù)進(jìn)行合并,時(shí)間復(fù)雜度為O(n)。五、測(cè)試結(jié)果系統(tǒng)選擇界面如圖 6-1圖6-1測(cè)試按照指數(shù)降序排列輸出多項(xiàng)式
12、8*x1+9*x0+7*x2+6*x3 輸入數(shù)據(jù)為:1(enter)4(enter)8 1 9 0 7 2 6 3(enter)輸出結(jié)果為:6*x3+7*x2+8*x1+9測(cè)試結(jié)果如圖6-2圖6-2測(cè)試兩個(gè)多項(xiàng)式相加8*x1+9*x0+7*x2+6*x3; 0*x0+1*x3+5*x2;輸入數(shù)據(jù)為:2(enter)4(enter)8 1 9 0 7 2 6 3 (enter)3(enter)0 0 1 3 5 2(enter)輸出結(jié)果為:7x3+12x2+8x+9測(cè)試結(jié)果如圖6-3圖6-3輸入的多項(xiàng)式及變量的值計(jì)算結(jié)果測(cè)試測(cè)試多項(xiàng)式4x3+5x4+6x1+7x0 當(dāng)x值為2.5時(shí)的值為279.
13、8125輸入數(shù)據(jù)為:4(enter) 4(enter)4 3 5 4 6 1 7 0(enter)2.5(enter)測(cè)試結(jié)果如圖6-4圖6-4測(cè)試對(duì)多個(gè)輸入的表達(dá)式按照指數(shù)從大到小排序輸出測(cè)試多項(xiàng)式8*x1+9*x0+7*x2+6*x3; 0*x0+1*x3+5*x2;4x3+5x4+6x1+7x0輸入數(shù)據(jù)為:5(enter) 3(enter) 4(enter) 8 1 9 0 7 2 6 3 (enter)3(enter) 0 0 1 3 5 2 (enter)4(enter) 4 3 5 4 6 1 7 0 (enter)輸出結(jié)果為:5x4+4x3+6x+7; 6*x3+7*x2+8*x
14、 +9;x3+5*x2數(shù)組測(cè)試結(jié)果如圖6-5圖6-5六、課程設(shè)計(jì)總結(jié)計(jì)算一元多項(xiàng)式加法,其結(jié)果取決于多項(xiàng)式的各項(xiàng)系數(shù)與指數(shù),因此程序核心是處理兩個(gè)多項(xiàng)式的系數(shù)與指數(shù)。定義結(jié)構(gòu)體將多項(xiàng)式的各項(xiàng)系數(shù)與指數(shù)存放,定義結(jié)構(gòu)體類型鏈表為程序的循環(huán)控制提供了可能,利用對(duì)鏈表的運(yùn)算來確定結(jié)果多項(xiàng)式的各項(xiàng)系數(shù)與次數(shù),同理算出相應(yīng)的冪數(shù)。鏈表是在計(jì)算機(jī)內(nèi)存中使用一組連續(xù)的存儲(chǔ)單元保存數(shù)據(jù)類型和名字相同的變量。就鏈表這種數(shù)據(jù)類型而言,在排列上采用的方法也是按序排放,先存放第一行,接著存放第二行,直到所有數(shù)據(jù)元素被存放。多項(xiàng)式采用的是鏈表形式,以犧牲一定的空間提高程序的運(yùn)行速度和可行性。算法思想:采用鏈?zhǔn)浇Y(jié)構(gòu)存儲(chǔ)多
15、項(xiàng)式,用鏈表結(jié)構(gòu)體的一個(gè)域標(biāo)記多項(xiàng)式的次數(shù),另一個(gè)域標(biāo)記多項(xiàng)式的系數(shù),程序中采用的是m表示最高次系數(shù),進(jìn)行加法運(yùn)算時(shí),標(biāo)記系數(shù)域相加即為相加的對(duì)應(yīng)系數(shù),標(biāo)記指數(shù)域相同則表示為同類項(xiàng)。鏈表的特性是在中間任意位置添加刪除元素的都非常的快,不需要移動(dòng)其它的元素。鏈表顧名思義,要把各個(gè)元素鏈接起來才算撒。通常鏈表每一個(gè)元素都要保存一個(gè)指向下一個(gè)元素的指針(單鏈表)。本次課程設(shè)計(jì),我查找過資料,請(qǐng)教過同學(xué),以及不懈的努力,不僅培養(yǎng)了獨(dú)立思考、動(dòng)手操作的能力,在各種其它能力上也都有了提高。更重要的是,在程序設(shè)計(jì)中,我學(xué)會(huì)了很多學(xué)習(xí)的方法,而這是日后最實(shí)用的,真的是受益匪淺。本學(xué)期的程序設(shè)計(jì)課程,我鍛煉了能
16、力,學(xué)到很多東西,比如思考問題的角度也會(huì)從多方面著手;對(duì)自己的專業(yè)也有自己的想法在和同學(xué)的交流過程中,互動(dòng)學(xué)習(xí),將知識(shí)融會(huì)貫通。通過這次課程設(shè)計(jì),我對(duì)很多的函數(shù)有了新的認(rèn)識(shí),也學(xué)會(huì)了運(yùn)用多種函數(shù),我也明白了寫軟件的基本過程和基本方法。在程序的設(shè)計(jì)過程中遇到拉很多的困難,在程序一次一次的調(diào)試失敗下曾經(jīng)想過要放棄,我最后還是讓自己堅(jiān)持啦下來,毫不畏懼困難,在同學(xué)的幫助與講解下我總算是順利的完成了程序的課程設(shè)計(jì)。在這幾天的編寫過程中我對(duì)語言有了更進(jìn)一步的認(rèn)識(shí)和了解,也感受到了編程給我?guī)淼目鞓放c充實(shí),明白了想成為一個(gè)合格的甚至是優(yōu)秀的程序員,我還需要更多更難的鍛煉。所以我還要不斷地學(xué)習(xí)不斷地說活,不
17、斷地成長(zhǎng),為我的理想而奮斗。七、參考文獻(xiàn)1) 嚴(yán)蔚敏 吳偉民 數(shù)據(jù)結(jié)構(gòu)(C語言版) 清華大學(xué)出版社.2006.2) 恰汗 合孜爾 C語言程序設(shè)計(jì) 中國(guó)鐵道出版社2009.3) 楊永斌 數(shù)據(jù)結(jié)構(gòu)(理論與實(shí)踐). 天津科學(xué)技術(shù)出版社4) 百度資料八、附錄#include<stdlib.h>#include<stdio.h> #include<ctype.h> #include<iostream>#include<math.h>#define null 0#define W 10using namespace std;typedef str
18、uct term /項(xiàng)的表示,多項(xiàng)式的項(xiàng)作為L(zhǎng)inkList的數(shù)據(jù)元素 float coef; /系數(shù) int expn; /指數(shù) struct term *next; term; int Empty(term *L) if(L->next!=null) return 1; return 0;void Delete(term * L,term * p) term * s,*q; s=L; q=L->next; while(p!=q) s=q; q=q->next; s->next=q->next; free(q); term* CreatPolyn(term *P
19、,int m) / 輸入m項(xiàng)的系數(shù)和指數(shù),建立表示一元多項(xiàng)式的有序鏈表P if(m <= 0) return NULL; term *h = P = (term*)malloc(sizeof(term), *q; P->coef = 0.0; int i; printf("依次輸入%d個(gè)數(shù)(前一個(gè)為系數(shù),后一個(gè)為指數(shù))n",m*2); for (i = 1; i <= m; +i) / 依次輸入m個(gè)非零項(xiàng) scanf("%f%d",&P->coef,&P->expn); if(P->coef) q =
20、P; /若該系數(shù)值不為0,則p數(shù)值插入鏈表qP = P->next = (term*)malloc(sizeof(term); q->next = NULL; free(P); return h; / CreatPolyn term* selsort(term *h) /將有序鏈表進(jìn)行指數(shù)排列term *g, *p, *q; if(!h) return NULL; float f; int i, fini = 1; for(g = h;g->next&&fini;g = g->next) /確定排序需要掃描的次數(shù) fini = 0; for(p = h,
21、q = h->next;q;p = p->next,q = q->next) /相鄰的指數(shù)進(jìn)行比較,一次循環(huán)將最小指數(shù)排到最后,若兩兩比較沒交換,則.if (p->expn < q->expn) /將鏈表中的元素按指數(shù)從高到低排列 f = p->coef;i = p->expn; p->coef = q->coef;p->expn = q->expn; q->coef = f;q->expn = i; fini = 1; for(g = h,p = g->next;p;) /比較將指數(shù)相同的數(shù)進(jìn)行合并 i
22、f(g->expn=p->expn) g->coef += p->coef; g->next = p->next; /合并后跳過一個(gè)元素,并刪除該結(jié)點(diǎn) q = p; p = p->next; free(q); else if(g->next) g = g->next; p = p->next; return h; void PrintfPoly(term *P) /輸出按指數(shù)從大到小排列后的一元多次式term *q = P; if(!q) putchar('0'); return; if(q->coef!=1)
23、printf("%g",q->coef); /%g用來輸出實(shí)數(shù),它根據(jù)數(shù)值的大小,自動(dòng)選f格式或e格式,且不輸出無意義的0 if(q->expn=1) putchar('X'); /若指數(shù)值大小為1,則指數(shù)省略 else if(q->expn) printf("X%d",q->expn); else if(!q->expn) putchar('1'); else if(q->expn=1) putchar('X'); else printf("X%d"
24、,q->expn); q = q->next; while (q) if(q->coef > =0) putchar('+'); if(q->coef!=1) printf("%g",q->coef); if(q->expn=1) putchar('X'); else if(q->expn) printf("X%d",q->expn); else if(!q->expn) putchar('1'); else if(q->expn=1) pu
25、tchar('X'); else printf("X%d",q->expn); q = q->next; int Compare(term *a, term *b) if (a->expn < b->expn) return -1; if (a->expn > b->expn) return 1; return 0; float C(term *c,float x) /計(jì)算輸入變量的多項(xiàng)式的值 float sum=0,a; int b; term *q=c; for(;q ;q=q->next) a=q-
26、>coef ;b=q->expn ; sum+=a*pow(x,b); return sum;term* APolyn(term *Pa, term *Pb) / 多項(xiàng)式加法:Pa = PaPb,利用兩個(gè)多項(xiàng)式的結(jié)點(diǎn)構(gòu)成"和多項(xiàng)式"。 term *h, *qa = Pa, *qb = Pb, *p, *q; float sum; h = p = (term*)malloc(sizeof(term); p->next = NULL; while (qa && qb) / Pa和Pb均非空 switch (Compare(qa,qb) case
27、 -1: / 多項(xiàng)式PA中當(dāng)前結(jié)點(diǎn)的指數(shù)值小 p->next = qb; p = qb; qb = qb->next; break; case 0: / 兩者的指數(shù)值相等 sum = qa->coef + qb->coef; if (sum != 0.0) / 修改多項(xiàng)式PA中當(dāng)前結(jié)點(diǎn)的系數(shù)值 p->next = qa; qa->coef = sum; p = qa; qa = qa->next; else / 刪除多項(xiàng)式PA中當(dāng)前結(jié)點(diǎn) q = qa; qa = qa->next; free(q); q = qb; qb = qb->nex
28、t; free(q); break; case 1: / 多項(xiàng)式PB中當(dāng)前結(jié)點(diǎn)的指數(shù)值小 p->next = qa; p = qa; qa = qa->next; break; / 結(jié)束switch / 結(jié)束while if (Pa) p->next = qa; / 鏈接Pa中剩余結(jié)點(diǎn) if (Pb) p->next = qb; / 鏈接Pb中剩余結(jié)點(diǎn) q = h; h = h->next; free(q); return h; / APolyn term* A(term *Pa, term *Pb) int n; printf("請(qǐng)輸入第二個(gè)一元多項(xiàng)式
29、的項(xiàng)數(shù): "); scanf("%d",&n); Pb = CreatPolyn(Pb,n); Pb = selsort(Pb); cout<<"兩個(gè)多項(xiàng)式相加結(jié)果為:"PrintfPoly(Pa); if(Pb && Pb->coef>0) printf(" + "); PrintfPoly(Pb); Pa = APolyn(Pa,Pb); printf(" = "); Pa = selsort(Pa); PrintfPoly(Pa); return Pa
30、; term* BPolyn(term *Pa, term *Pb) / 多項(xiàng)式減法:Pa = Pa-Pb,利用兩個(gè)多項(xiàng)式的結(jié)點(diǎn)構(gòu)成"差多項(xiàng)式"。 term *p = Pb; while(p) p->coef *= -1; p = p->next; return APolyn(Pa,Pb); / BPolyn term* B(term *Pa, term *Pb) int n; printf("請(qǐng)輸入第二個(gè)一元多項(xiàng)式的項(xiàng)數(shù): ");scanf("%d",&n); Pb = CreatPolyn(Pb,n); Pb
31、= selsort(Pb); cout<<"兩個(gè)多項(xiàng)式相減結(jié)果為:"PrintfPoly(Pa); printf(" - "); putchar('(');PrintfPoly(Pb);putchar(')'); Pa = BPolyn(Pa,Pb); printf(" = "); Pa = selsort(Pa); PrintfPoly(Pa); return Pa; void main() term *M,*N; term *q;int i,j,n; float x,y; term *G
32、W;int k; f: puts("t= 一元多項(xiàng)式計(jì)算系統(tǒng):="); printf("nttt1:按照指數(shù)降序排列輸出多項(xiàng)式nttt2:一元多項(xiàng)式的加法運(yùn)算"); printf("nttt3:一元多項(xiàng)式的減法運(yùn)算nttt4:輸入的多項(xiàng)式及變量的值計(jì)算結(jié)果"); puts("nttt5:對(duì)多個(gè)輸入的表達(dá)式按照指數(shù)從大到小排序輸出nttt0:退出系統(tǒng)"); puts("t="); printf("n請(qǐng)選擇您要進(jìn)行的操作:");cin>>i;switch(i) cas
33、e 1:printf("nttt按照指數(shù)降序排列輸出多項(xiàng)式:n請(qǐng)輸入該一元多項(xiàng)式的項(xiàng)數(shù): "); scanf("%d",&n); M = CreatPolyn(M,n); M = selsort(M); cout<<"您輸入的多項(xiàng)式按指數(shù)降序排列為: "PrintfPoly(M);cout<<endl<<endl; goto f;case 2: printf("nttt一元多項(xiàng)式加法計(jì)算:n請(qǐng)輸入第一個(gè)一元多項(xiàng)式的項(xiàng)數(shù): "); scanf("%d",&n); M = CreatPolyn(M,n); M = selsort(M); M = A(M,N); cout<<endl<<endl;goto f; case 3: printf
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 信托與綠色交通基礎(chǔ)設(shè)施建設(shè)考核試卷
- 體育競(jìng)賽活動(dòng)安保措施與實(shí)施細(xì)節(jié)考核試卷
- 印刷企業(yè)綠色印刷技術(shù)發(fā)展趨勢(shì)分析考核試卷
- 室內(nèi)模擬賽車與駕駛模擬器設(shè)備出租考核試卷
- 整車制造的工藝技術(shù)創(chuàng)新考核試卷
- 家庭插花培訓(xùn)課件
- 借款附加資產(chǎn)合同范本
- 購(gòu)房合同范本年
- 勞務(wù)人工合同范本
- 樓層拆除工程合同范本
- 比較政治制度導(dǎo)論
- 農(nóng)村土地承包調(diào)解仲裁與仲裁庭審技巧課件
- 介入放射學(xué)全套教程
- 人教版政治七年級(jí)下冊(cè)全套課件
- 口語教程4整套課件完整版教學(xué)教程最全電子講義教案
- 高壓氧艙課件
- 加德納多元智能測(cè)評(píng)量表【復(fù)制】
- 譯林英語四年級(jí)下冊(cè)4B各單元教學(xué)反思
- 國(guó)家電網(wǎng)有限公司十八項(xiàng)電網(wǎng)重大反事故措施(修訂版)
- 環(huán)氧乙烷固定床反應(yīng)器課程設(shè)計(jì)
- 班、團(tuán)、隊(duì)一體化建設(shè)實(shí)施方案
評(píng)論
0/150
提交評(píng)論