版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)用標(biāo)準(zhǔn)文案福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院課程設(shè)計(jì)報(bào)告課程名稱:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)題目:一元多項(xiàng)式的加法減法乘法的實(shí)現(xiàn)姓名:系:軟件工程系專業(yè):軟件工程專業(yè)年級:2014學(xué)號:指導(dǎo)教師:黃思先職稱:副教授完成起止日期:2016.6.5-2016.7.12016年07月1日精彩文檔實(shí)用標(biāo)準(zhǔn)文案福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院課程設(shè)計(jì)結(jié)果評定評價(jià)評價(jià)指標(biāo)評分評定內(nèi)容權(quán)值成績有扎實(shí)的基礎(chǔ)理論知識和課程知識; 能正確設(shè)業(yè)務(wù)計(jì)實(shí)驗(yàn)方案;獨(dú)立進(jìn)行實(shí)驗(yàn)工作;能運(yùn)用所學(xué) 0.2水平課程知識和技能去發(fā)現(xiàn)與解決實(shí)際問題實(shí)驗(yàn)正確,分析處理科學(xué);設(shè)計(jì)結(jié)果有應(yīng)用價(jià)設(shè)計(jì) 值;圖紙繪制符合國家標(biāo)準(zhǔn),質(zhì)量符合要求;0.4質(zhì)量 計(jì)算及測試結(jié)果準(zhǔn)確;工作中有創(chuàng)新意識;對前人工作有改進(jìn)或突破,或有獨(dú)特見解;工作量、按期完成規(guī)定的任務(wù),工作量飽滿,難度較大;工作0.2工作努力,遵守紀(jì)律;工作作風(fēng)嚴(yán)謹(jǐn)務(wù)實(shí)態(tài)度報(bào)告文字通順,技術(shù)用語準(zhǔn)確,符號統(tǒng)一,編號齊質(zhì)量0.2全,書寫工整規(guī)范,圖表完備、整潔、正確;合 計(jì) 1.0指導(dǎo)教師簽字: 評定日期:精彩文檔實(shí)用標(biāo)準(zhǔn)文案目錄一、 問題分析和任務(wù)定義?????????????????1二、 程序設(shè)計(jì)內(nèi)容????????????????????1三、程序調(diào)試與測試???????????????????7四、實(shí)驗(yàn)心得??????????????????????9五、程序編碼??????????????????????9精彩文檔實(shí)用標(biāo)準(zhǔn)文案一、問題分析及任務(wù)定義順序結(jié)構(gòu)、動(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+ ?+AmxmBn(x)=B0+B1x1+B2x2+B3x3+ ?+Bnxn請實(shí)現(xiàn)求M(x)=Am(x)+Bn(x) 、M(x)=Am(x)-Bn(x) 和M(x)=Am(x) ×Bn(x)。要求:首先判定多項(xiàng)式是否稀疏分別采用順序和動(dòng)態(tài)存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn);結(jié)果M(x)中無重復(fù)階項(xiàng)和無零系數(shù)項(xiàng);要求輸出結(jié)果的升冪和降冪兩種排列情況二、課程設(shè)計(jì)的內(nèi)容2.1函數(shù)多項(xiàng)式創(chuàng)建函數(shù) PolyNode*Creatpoly()多項(xiàng)式輸出函數(shù) voidPrin_poly(PolyNode*h)多項(xiàng)式升序排列函數(shù) voidInsortup(PolyNode*h)多項(xiàng)式降序排列函數(shù) voidInsortdown(PolyNode*h)多項(xiàng)式合并函數(shù) voidUnitePoly(PolyNode*h)精彩文檔實(shí)用標(biāo)準(zhǔn)文案多項(xiàng)式相乘函數(shù) PolyNode*polymuti(PolyNode*h1,PolyNode*h2)多項(xiàng)式相加函數(shù) PolyNode*addition(PolyNode*ha,PolyNode*hb)多項(xiàng)式相減函數(shù) PolyNode*subduction(PolyNode*ha,PolyNode*hb)2.2設(shè)計(jì)各個(gè)模塊的流程圖1)main()開始定義*h1,*h2,*h創(chuàng)建多項(xiàng)式 A輸出文字合并同類項(xiàng)排序輸出多項(xiàng)式 A精彩文檔實(shí)用標(biāo)準(zhǔn)文案創(chuàng)建多項(xiàng)式 B輸出文字合并同類項(xiàng)排序輸出多項(xiàng)式 BYa=1 additionNYa=2 subductionNYa=3精彩文檔實(shí)用標(biāo)準(zhǔn)文案polymuti結(jié)束(2)voidInsortup(PolyNode*h)開始p=h—>next結(jié)束 NP!=NULLYs=h—>nexts—>next!=NULLYs—>exp>s—>next—exp
p=h—>nextNs—>exp與s—>next—>exp互換s—>coef與s—>next—coef互換—Ns=s—>next精彩文檔實(shí)用標(biāo)準(zhǔn)文案(3)voidInsortdown(PolyNode*h)開始p=h—>next結(jié)束 NP!=NULLYs=h—>nexts—>next!=NULLYs—>exp>s—>next—exp—Ns=s—>next
p=h—>nextNs—>exp與s—>next—>exp互換s—>coef與s—>next—coef互換精彩文檔實(shí)用標(biāo)準(zhǔn)文案PolyNode*polymuti(PolyNode*h1,PolyNode*h2)(5)voidUnitePoly(PolyNode*h)精彩文檔實(shí)用標(biāo)準(zhǔn)文案PolyNode*addition(PolyNode*ha,PolyNode*hb)開始精彩文檔實(shí)用標(biāo)準(zhǔn)文案三、程序調(diào)試與測試相加結(jié)果精彩文檔實(shí)用標(biāo)準(zhǔn)文案相減結(jié)果相乘結(jié)果精彩文檔實(shí)用標(biāo)準(zhǔn)文案四、實(shí)驗(yàn)心得在本次課程設(shè)計(jì)中,我明白了理論應(yīng)與實(shí)際相結(jié)合, 上機(jī)練習(xí)是提高編程能力最有效的辦法,這次實(shí)驗(yàn)提高了我編寫大型程序的能力以及查閱資料并從中獲得有效資料的能力。這次課程設(shè)計(jì)加深了我對數(shù)據(jù)結(jié)構(gòu)的進(jìn)一步理解。五、程序編碼實(shí)驗(yàn)程序:#include<stdio.h>#include<stdlib.h>#include<conio.h>typedefstructNode{intcoef;// 系數(shù)intexp;// 指數(shù)精彩文檔實(shí)用標(biāo)準(zhǔn)文案structNode*next;}PolyNode;PolyNode*Creatpoly()// 創(chuàng)建多項(xiàng)式的單鏈表{PolyNode*h,*p,*q;h=(PolyNode*)malloc(sizeof(PolyNode));p=h;p->next=NULL;printf(" 請輸入多項(xiàng)式的系數(shù)及其指數(shù) ab,當(dāng)系數(shù)輸入 0時(shí)停止輸入\n");q=(PolyNode*)malloc(sizeof(PolyNode));scanf("%d%d",&q->coef,&q->exp);while(q->coef!=0){p->next=q;p=q;q=(PolyNode*)malloc(sizeof(PolyNode));scanf("%d%d",&q->coef,&q->exp);}p->next=NULL;return(h);}精彩文檔實(shí)用標(biāo)準(zhǔn)文案voidPrin_poly(PolyNode*h)// 將多項(xiàng)式輸出函數(shù){PolyNode*p;p=h->next;while(p!=NULL){if(p->coef>0&&p!=h->next){if(p->exp>0)printf("+%dx^%d",p->coef,p->exp);elseif(p->exp<0)printf("+%dx^(%d)",p->coef,p->exp);elseprintf("+%d",p->coef);}elseif(p->coef<0&&p!=h->next){if(p->exp>0)printf("%dx^%d",p->coef,p->exp);elseif(p->exp<0)printf("%dx^(%d)",p->coef,p->exp);else精彩文檔實(shí)用標(biāo)準(zhǔn)文案printf("%d",p->coef);}else{if(p->exp>0)printf("%dx^%d",p->coef,p->exp);elseif(p->exp<0)printf("%dx^(%d)",p->coef,p->exp);else printf("%d",p->coef);}p=p->next;}}voidInsortup(PolyNode*h)// 排序函數(shù),使多項(xiàng)式中的各項(xiàng)按 X的升冪排列{PolyNode*s,*p;intt,m;for(p=h->next;p!=NULL;p=p->next)// 類似于冒泡排序{for(s=h->next;s->next!=NULL;s=s->next)精彩文檔實(shí)用標(biāo)準(zhǔn)文案{if(s->exp>s->next->exp){t=s->exp;m=s->coef;s->coef=s->next->coef;s->exp=s->next->exp;s->next->coef=m;s->next->exp=t;}}}}voidInsortdown(PolyNode*h)// 排序函數(shù),使多項(xiàng)式中的各項(xiàng)按 X的降冪排列{PolyNode*s,*p;intt,m;for(p=h->next;p!=NULL;p=p->next)// 類似于冒泡排序{for(s=h->next;s->next!=NULL;s=s->next){精彩文檔實(shí)用標(biāo)準(zhǔn)文案if(s->exp<s->next->exp){t=s->exp;m=s->coef;s->coef=s->next->coef;s->exp=s->next->exp;s->next->coef=m;s->next->exp=t;}}}}voidUnitePoly(PolyNode*h)// 合并同類項(xiàng){PolyNode*p1,*p2,*q1,*q2,*temp;q1=h;p1=q1->next;while(p1!=NULL){p2=p1->next;q2=p1;while(p2!=NULL)精彩文檔實(shí)用標(biāo)準(zhǔn)文案{if(p1->exp==p2->exp){p1->coef=p1->coef+p2->coef;if(p1->coef==0){temp=p2;q2->next=p2->next;free(temp);temp=p1;q1->next=p1->next;p1=q1;free(temp);break;}else{temp=p2;q2->next=p2->next;p2=p2->next;free(temp);}精彩文檔實(shí)用標(biāo)準(zhǔn)文案}else{q2=p2;p2=p2->next;}}q1=p1;p1=p1->next;}}PolyNode*polymuti(PolyNode*h1,PolyNode*h2)// 多項(xiàng)式相乘{(lán)PolyNode*h,*p,*p1,*p2,*q;p1=h1->next;h=p=(PolyNode*)malloc(sizeof(PolyNode));p->next=NULL;while(p1){p2=h2->next;while(p2){精彩文檔實(shí)用標(biāo)準(zhǔn)文案q=(PolyNode*)malloc(sizeof(PolyNode));q->coef=p1->coef*p2->coef;q->exp=p1->exp+p2->exp;p->next=q;p=q;p2=p2->next;}p1=p1->next;}p->next=NULL;return(h);}PolyNode*addition(PolyNode*ha,PolyNode*hb)// 一元多項(xiàng)式相加函數(shù),用于將兩個(gè)多項(xiàng)式相加,然后將和多項(xiàng)式存放在多項(xiàng)式 ha中,并將多項(xiàng)式 hb刪除{PolyNode*p,*q,*pre,*temp;intsum;p=ha->next;q=hb->next;pre=ha;while(p!=NULL&&q!=NULL){if(p->exp<q->exp){精彩文檔實(shí)用標(biāo)準(zhǔn)文案pre->next=p;pre=pre->next;p=p->next;}elseif(p->exp==q->exp){sum=p->coef+q->coef;if(sum!=0){p->coef=sum;pre->next=p;pre=pre->next;p=p->next;temp=q;q=q->next;free(temp);}else//如果系數(shù)和為零,則刪除結(jié)點(diǎn) p與q,并將指針指向下一個(gè)結(jié)點(diǎn){temp=p->next;free(p);p=temp;temp=q->next;free(q);q=temp;精彩文檔實(shí)用標(biāo)準(zhǔn)文案}}else{pre->next=q;pre=pre->next;q=q->next;}}if(p!=NULL)// 將多項(xiàng)式A中剩余的結(jié)點(diǎn)加入到和多項(xiàng)式中pre->next=p;elsepre->next=q;returnha;}PolyNode*subduction(PolyNode*ha,PolyNode*hb)// 一元多項(xiàng)式相減函數(shù),用于將兩個(gè)多項(xiàng)式相減,然后將差多項(xiàng)式存放在多項(xiàng)式 ha中,并將多項(xiàng)式 hb刪除{PolyNode*p,*q,*pre,*temp;intsum;p=ha->next;q=hb->next;pre=ha;while(p!=NULL&&q!=NULL){if(p->exp<q->exp){精彩文檔實(shí)用標(biāo)準(zhǔn)文案pre->next=p;pre=pre->next;p=p->next;}elseif(p->exp==q->exp){sum=p->coef-q->coef;if(sum!=0){p->coef=sum;pre->next=p;pre=pre->next;p=p->next;temp=q;q=q->next;free(temp);}else//如果系數(shù)和為零,則刪除結(jié)點(diǎn) p與q,并將指針指向下一個(gè)結(jié)點(diǎn){temp=p->next;free(p);p=temp;temp=q->next;free(q);q=temp;精彩文檔實(shí)用標(biāo)準(zhǔn)文案}}else{pre->next=q;pre=pre->next;q=q->next;}}if(p!=NULL)// 將多項(xiàng)式A中剩余的結(jié)點(diǎn)加入到和多項(xiàng)式中pre->next=p;elsepre->next=q;returnha;}main(){inta=-1;PolyNode*h1,*h2,*h;h1=Creatpoly();printf(" 該多項(xiàng)式為 P1(x)=");UnitePoly(h1);Insortup(h1);Prin_poly(h1);printf("\n");精彩文檔實(shí)用標(biāo)準(zhǔn)文案h2=Creatpoly();printf(" 該多項(xiàng)式為 P2(x)=");UnitePoly(h2);Insortup(h2);Prin_poly(h2);printf("\n");printf(" 輸入1查看兩多項(xiàng)式相加結(jié)果 \n輸入2查看兩多項(xiàng)式相減結(jié)果 \n輸入3查看
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度危險(xiǎn)品運(yùn)輸與安全裝卸協(xié)議3篇
- 專業(yè)水泥購銷協(xié)議規(guī)范版B版
- 二零二五年度電子商務(wù)平臺(tái)建設(shè)與運(yùn)營管理協(xié)議2篇
- 專項(xiàng)融資委托代理協(xié)議(2024版)版A版
- 個(gè)人借款抵押車復(fù)雜合同(2024版)2篇
- 二零二五年度城市綜合體項(xiàng)目投資合作協(xié)議5篇
- 專業(yè)短視頻攝制服務(wù)合同(2024年)3篇
- 2025年度生物制藥研發(fā)與市場推廣合作協(xié)議2篇
- 2025年度廠房物業(yè)管理與能源審計(jì)服務(wù)協(xié)議4篇
- 2025年度廠區(qū)生態(tài)景觀綠化養(yǎng)護(hù)服務(wù)合同樣本4篇
- 2024版?zhèn)€人私有房屋購買合同
- 2025年山東光明電力服務(wù)公司招聘筆試參考題庫含答案解析
- 《神經(jīng)發(fā)展障礙 兒童社交溝通障礙康復(fù)規(guī)范》
- 2025年中建六局二級子企業(yè)總經(jīng)理崗位公開招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年5月江蘇省事業(yè)單位招聘考試【綜合知識與能力素質(zhì)】真題及答案解析(管理類和其他類)
- 注漿工安全技術(shù)措施
- 《食品與食品》課件
- 2024年世界職業(yè)院校技能大賽“食品安全與質(zhì)量檢測組”參考試題庫(含答案)
- 讀書分享會(huì)《白夜行》
- 2023上海高考英語詞匯手冊單詞背誦默寫表格(復(fù)習(xí)必背)
- 人民軍隊(duì)歷史與優(yōu)良傳統(tǒng)(2024)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論