版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
一元多項式相加實驗報告一元多項式的相加一實驗內容根據(jù)所學的數(shù)據(jù)結構中線性結構(線性表)的邏輯特性和物理特性及相關法,應用于求解一個具體的實際問題 兩個多項式相加二需求分析掌握線性結構的邏輯特性和物理特性。建立一元多項式。將一元多項式輸入,并存儲在內存中,并按照指數(shù)降序排列輸出多項式。能夠完成兩個多項式的加減運算,并輸出結果。三概要設計本程序所用到的抽象數(shù)據(jù)類型:typedefOrderedLinkList polynomial;//用帶表頭結點的有序鏈表表示多項式結點的數(shù)據(jù)元素類型定義為:typedefstruct{//項的表示floatcoef;//系數(shù)int expn;//指數(shù)term,ElemType;VoidAddPolyn(polynomail&Pa,polynomail&Pb)PositionGetHead()PositionNextPos(LinkListL,Linkp)ElemGetCurElem(Linkp)intcmp(terma termb)StatusSetCurElem(Link&p,ElemTypee)StatusDelFirst(Linkh,Link&q)StatusListEmpty(LinkListL)StatusAppend(LinkList&L,LinkFreeNode()存儲結構coefcoefexpnext項式的相加相減操作。模塊劃分a)主程序;2)初始化單鏈表;3)建立單鏈表;4)相加多項式a)主程序;2)初始化單鏈表;3)建立單鏈表;4)相加多項式主程序流程圖開始開始申請結點空間輸入多項式各項的系數(shù)X,指數(shù)Y輸出已輸出的多項式否是否輸入正確合并同類項結束四詳細設計根據(jù)一元多項式相加的運算規(guī)則:對于兩個一元多項式中所有指數(shù)相同的項,對應系數(shù)相加,若其和不為零,則構成“和多項式”中的一項,對PolyAddpapb所指的兩個多項式相加,結果為paqaqb分別從多項式的首項開始掃描2-5-1qa和qb可能出現(xiàn)下列三種情況之一:qa->expqb->exp,qa繼續(xù)向后掃描。qa->expqb->exp,則將其系數(shù)相加。若相加結果不為零,將結果qa->coefqbqaqbqa、qb繼續(xù)向后掃描。qa->expqb->exp,qbqa所指結點之前,然后qa、qb繼續(xù)向后掃描。qaqbpa指向的鏈表即為兩個多項式之和。五源程序代碼#include<stdio.h>#include<malloc.h>#include<stdlib.h>#defineNULL0typedefstructNODE{float coef; //系數(shù)int expn; //指數(shù)structNODE*next;}NODE;NODE*Creat(intn);voidprint(NODENODE*AddPolyn(NODE*head1,NODE*head2);NODE*Delfirst(NODE*head,NODE*q);voidInsertBefore(NODE*p1,NODEint compare(inta,intb);main(){NODE*head1,*head2,*head3;intn1,n2;printf("請輸入你需要的多項數(shù)的數(shù)目n1 :");scanf("%d",&n1);head1=Creat(n1);printf("第一個多項式的顯示:\n");print(head1);printf("\n請輸入你需要的多項數(shù)的數(shù)目n2 :scanf("%d",&n2);head2=Creat(n2);printf("\n第二個多項式的顯示:print(head2);head3=AddPolyn(head1,head2);printf("\n合并后的多項式的顯示:print(head3);printf("\n");}/*創(chuàng)建鏈表*/NODE*Creat(intn){NODE*current,*previous,*head;inti;head=(NODE*)malloc(sizeof(NODE));/*創(chuàng)建頭結點*/previous=head;for(i=0;i<n;i++){current=(NODE*)malloc(sizeof(NODE));printf("請輸入系數(shù)和指數(shù):");scanf("%f%d",¤t->coef,¤t->expn);previous->next=current;previous=current;}previous->next=NULL;returnhead;}/*qaqbpb(00),pb里面由InsertBefore和Delfirst兩個小模塊組成一部分NODE *AddPolyn(NODE*head1,NODE*head2){NODE*ha,*hb,*qa,*qb;inta,b;floatsum;ha=head1; /*hahb指向頭結點hb=head2;qa=ha->next; /*qaqb指向頭結點的下一個結點qb=hb->next;while(qa&&qb) /*qaqb均非空*/{a=qa->expn;b=qb->expn;switch(compare(a,b)){case-1: /*qa->expn<qb->expn*/ha=qa;qa=qa->next;break;case0:sum=qa->coef+qb->coef; /*系數(shù)的和*/if(sum!=0.0){ /*如果不是qa->coef=sum; /*改變系數(shù)*/ha=qa;}else{free(Delfirst(ha,qa));}free(Delfirst(hb,qb));qa=ha->next;qb=hb->next; /*qb釋放后要重新賦值*/break;case1: /*qa->expn>qb->Delfirst(hb,qb);InsertBefore(ha,qb); /*qbha下一個結點之前qb=hb->next;ha=ha->next;break;}}if(qb)ha->next=qb; /*free(head2);returnhead1;}/*比較*/intcompare(inta,intb){if(a<b)return-1;elseif(a>return1;elsereturn0;}/*刪除結點q*/NODE*Delfirst(NODE*p1,NODE*q){p1->next=q->next;return(q);}/*插入結點,引入結點p,可以讓p插入到p2和p1之間*/voidInsertBefore(NODE*p1,NODE*p2){NODE*p;p=p1->next;p1->next=p2;p2->next=p;}/*打印,為了美觀程序分開打印*/voidprint(NODE*head){NODE*current;current=head->next;while(current->next!=NULL){printf("%0.f*x^%d+",current->coef,current->expn);current=current->next;}printf("%0.f*x^%d",current->coef,current->expn);}六調試分析
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 認知功能障礙康復治療
- 足踝部骨折康復治療
- 廣西-2023年-社區(qū)工作者-下半年筆試真題卷
- 化妝品促銷活動方案模版(4篇)
- 食品安全應急預案制度例文(3篇)
- 2024年生產部經理年度工作計劃書樣本(5篇)
- 支柱工安全技術操作規(guī)程模版(2篇)
- 2024年供貨合同標準樣本(2篇)
- 2021年10月廣西中共南寧市青秀區(qū)委員會組織部公開招聘行政輔助人員工作人員簡章強化練習題(一)
- 2024年校本教研工作計劃(2篇)
- 園林綠化安全生產培訓
- 2024年吊車使用協(xié)議(一年期)
- 臨床護理帶教老師培訓
- 遼寧省大連市金州區(qū)2024-2025學年八年級上學期11月期中考試數(shù)學試題(含答案)
- 水電站管護協(xié)議書范文范本
- 酒店直播方案
- 安徽省合肥市第五十中學西校區(qū)2024-2025學年期中考試七年級數(shù)學試題(無答案)
- 湖北省恩施市沙地初中2024-2025學年八年級數(shù)學上學期期中考試題卷(含答案)
- 國開2024年秋《大數(shù)據(jù)技術概論》形考作業(yè)1-4答案
- 旅游景區(qū)旅游安全風險評估報告
- 部編2024版歷史七年級上冊第三單元《第14課 絲綢之路的開通與經營西域》說課稿
評論
0/150
提交評論