版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。 程 告1. 需求分析【 描述】 一個(gè)一元稀疏多 式 算器 .【基本要求】一元稀疏多 式基本功能包括:1) 入并建立多 式 ;2) 出多 式 , 出形式 整數(shù)序列 : n, c1, e1, c2, e2, ,cn, en,其中 n 是多 式的 數(shù), ci 和 ei 分 是第 i 的系數(shù)和指數(shù) ,序列按指數(shù)降序排列;3) 多 式 a 和 b 相加 , 建立多 式 a+b;4) 多 式 a 和 b 相減 , 建立多 式 a-b;【 數(shù)據(jù)】1)(2x+5x8-3.1x 11)+(11x 9-5x 8+7)=(-3.1x 11+11x8+2
2、x+7)2)(-1.2x9+6x-3 +4.4x 2-x)-(7.8x15+4.4x 2-6x -3 )=(-7.8x 15-1.2x9+12x-3 -x)3)(x5+x4+x3+x2+x+1)-(-x 4-x 3)=(x 5+x2+x+1)4) (x 3+x)-(-x 3-x)=05) (x 100+x)+(x 200+x100)=(x 200+2x100+x)6) (x 3+x2+x)+0=x 3+x2+x7) 互 上述 數(shù)據(jù)中的前后兩個(gè)多 式.資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。2. 概要 ADT Polynomial數(shù)據(jù) 象 : D=a i |a iTermS
3、et, i=1,2,m,m0,TermSet中的每個(gè)元素包含一個(gè)表示系數(shù)的 數(shù)和表示指數(shù)的整數(shù)數(shù)據(jù) 象: R1=|ai ,ai-1D, 且ai-1中的指數(shù) 小于ai中的指數(shù),i=2,m 基本操作:CreatePolyn(void)Result:指數(shù)由大到小 入m 的系數(shù)和指數(shù), 建立一元多 式 pPrintPoly(LNode Head)Result: 出一元多 式AddPoly(LNode H1,LNode H2)Condition:一元多 式pa,pb 已存在Result:完成多 式相加運(yùn)算, 即 pa=pa+pb, 并 一元多 式 pb.SubtractPoly(LNode H1,LNo
4、de H2)Condition:一元多 式pa,pb 已存在Result:完成多 式相減運(yùn)算, 即 pa=pa-pb, 并 一元多 式 pb.ADT Polynomial資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。3. 詳細(xì)設(shè)計(jì)【數(shù)據(jù)類型定義】 typedef struct nodeint expn,coef;struct node *next;Nodetype,*LNode;/定義結(jié)點(diǎn)類型【函數(shù)原型定義】LNode CreatePolyn(void);Void PrintPoly(LNode Head);LNode AddPolyn(LNode H1,LNode H2);L
5、Node SubPolyn(LNode H1,LNode H2);【核心算法描述】CreatePolyn()LNode CreatePolyn(void)/ 創(chuàng)立表示式LNode Head,p,pre,pree;int x,z;Head=(LNode)malloc(sizeof(Nodetype);Head-next=NULL;printf( 當(dāng)你輸入的系數(shù)為0 時(shí), 輸入將結(jié)束 ! n);printf( 請(qǐng)輸入第一項(xiàng)系數(shù):);scanf(%d,&x);if(x=0)p=(LNode)malloc(sizeof(LNode);p-coef=0;p-expn=0;Head-next=p;p-ne
6、xt=NULL;資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。while(x!=0)printf( 請(qǐng)輸入指數(shù) :);scanf(%d,&z);p=(LNode)malloc(sizeof(Nodetype);p-coef=x;p-expn=z;pre=Head;while(pre-next&pre-next-expn=z)/原有項(xiàng)指數(shù)大于插入項(xiàng)pree=pre;pre=pre-next;p-next=pre-next;/ 插入項(xiàng)pre-next=p;if(pre-expn=p-expn)/ 原有項(xiàng)指數(shù)等于插入項(xiàng)pre-coef+=p-coef;pre-next=p-next;
7、free(p);if(pre-coef=0)/ 系數(shù)為 0pree-next=pre-next;free(pre);printf( 請(qǐng)輸入系數(shù) :);scanf(%d,&x);if(Head-next=NULL)/多項(xiàng)式空pre=(LNode)malloc(sizeof(LNode);pre-coef=0;pre-expn=0;pre-next=Head-next;Head-next=pre;return Head;PrintPolyn()void PrintPolyn(LNode Head)/ 輸出表示式資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。LNode pre;pre
8、=Head-next;if(pre-expn=0)/ 指數(shù)為 0printf(%d,pre-coef);elseprintf(%d*X(%d),pre-coef,pre-expn);pre=pre-next;while(pre)/ 系數(shù)不為0if(pre-expn=0)/ 指數(shù)為 0if(pre-coef0)printf(+%d,pre-coef);else if(pre-coefcoef);else/指數(shù)不為0if(pre-coef0)printf(+%d*X(%d),pre-coef,pre-expn);else if(pre-coefcoef,pre-expn);pre=pre-next
9、;/ 遍歷每一項(xiàng)printf(n);AddPolyn()LNode AddPolyn(LNode H1,LNode H2)/ 表示式相加LNode H3,p1,p2,p3,pre;/p1第一個(gè)多項(xiàng)式的項(xiàng), prep 的前一項(xiàng)H3=(LNode)malloc(sizeof(LNode);H3-next=NULL;/ 建立一個(gè)空的多項(xiàng)式p1=H1-next;/第一個(gè)多項(xiàng)式的第一項(xiàng)p2=H2-next;pre=H3;/while(p1&p2)if(p1-expnp2-expn)/ 第一個(gè)多項(xiàng)式的項(xiàng)的指數(shù)大于第二個(gè)的p3=(LNode)malloc(sizeof(LNode);p3-expn=p1-e
10、xpn;p3-coef=p1-coef;資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。p3-next=pre-next;pre-next=p3;pre=p3;p1=p1-next;else if(p1-expnexpn)/ 第一個(gè)多項(xiàng)式的項(xiàng)的指數(shù)小于第二個(gè)的p3=(LNode)malloc(sizeof(LNode);p3-expn=p2-expn;p3-coef=p2-coef;p3-next=pre-next;pre-next=p3;pre=p3;p2=p2-next;else if(p1-coef+p2-coef!=0)/相加為不 0, 指數(shù)相同系數(shù)相加p3=(LNode
11、)malloc(sizeof(LNode);p3-expn=p1-expn;p3-coef=p1-coef+p2-coef;p3-next=pre-next;pre-next=p3;pre=p3;p1=p1-next;p2=p2-next;else/相加為 0p1=p1-next;p2=p2-next;while(p2)p3=(LNode)malloc(sizeof(LNode);p3-expn=p2-expn;p3-coef=p2-coef;p3-next=pre-next;pre-next=p3;pre=p3;p2=p2-next;資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。while(p1)p3=(LNode)malloc(sizeof(LNode);p3-expn=p1-expn;p3-coef=p1-coef;p3-next=pre-next;pre-next=p3;pre=p3;p1=p1-next;return H3;Substract()LNode SubstractPolyn(LNode H1,LNode H2)/ 表示式相減/ 讓系數(shù)變負(fù) , 代入加法LNode H3,pre;pre=H2-next;while(pre)pre-coef=-pre-coef
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全員A證考試檢測(cè)卷講解附參考答案詳解【完整版】
- 燃?xì)夤艿拦こ毯贤瑮l款設(shè)計(jì)方案
- 未來五年填埋氣治理及利用企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略分析研究報(bào)告
- 未來五年科技企業(yè)管理服務(wù)企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略分析研究報(bào)告
- 安全員A證考試模擬題庫(kù)講解(完整版)附答案詳解
- 安全員A證考試過關(guān)檢測(cè)【考點(diǎn)精練】附答案詳解
- 未來五年新形勢(shì)下定制家居行業(yè)順勢(shì)崛起戰(zhàn)略制定與實(shí)施分析研究報(bào)告
- 繪畫教師資格證考試美術(shù)教育創(chuàng)新理念題目及答案
- 未來五年電子、通信與自動(dòng)控制服務(wù)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略分析研究報(bào)告
- 2023年吉林省白山市單招職業(yè)適應(yīng)性考試題庫(kù)附答案詳解
- 大數(shù)據(jù)驅(qū)動(dòng)下的塵肺病發(fā)病趨勢(shì)預(yù)測(cè)模型
- 炎德英才大聯(lián)考雅禮中學(xué)2026屆高三月考試卷英語(yǔ)(五)(含答案)
- 【道 法】期末綜合復(fù)習(xí) 課件-2025-2026學(xué)年統(tǒng)編版道德與法治七年級(jí)上冊(cè)
- 2025-2026學(xué)年仁愛科普版七年級(jí)英語(yǔ)上冊(cè)(全冊(cè))知識(shí)點(diǎn)梳理歸納
- TNAHIEM 156-2025 口內(nèi)數(shù)字印模設(shè)備消毒滅菌管理規(guī)范
- 頂棚保溫施工組織方案
- 學(xué)校6S管理培訓(xùn)
- DB15-T 4031-2025 建設(shè)項(xiàng)目水資源論證表編制導(dǎo)則
- 2025-2030國(guó)學(xué)啟蒙教育傳統(tǒng)文化復(fù)興與商業(yè)模式探索報(bào)告
- 2025年事業(yè)單位考試(醫(yī)療衛(wèi)生類E類)職業(yè)能力傾向測(cè)驗(yàn)試卷及答案指導(dǎo)
- 2025年江蘇省高考?xì)v史真題(含答案解析)
評(píng)論
0/150
提交評(píng)論