數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告一元多項(xiàng)式加減乘計(jì)算_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告一元多項(xiàng)式加減乘計(jì)算_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告一元多項(xiàng)式加減乘計(jì)算_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告一元多項(xiàng)式加減乘計(jì)算_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告一元多項(xiàng)式加減乘計(jì)算_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

/

1、 問(wèn)題描述能夠按照指數(shù)降序排列建立多項(xiàng)式; 能夠完成兩個(gè)多項(xiàng)式的相加、相減和相乘,并將結(jié)果輸出。2、 設(shè)計(jì)思路這個(gè)程序的關(guān)鍵是多項(xiàng)式的創(chuàng)建和排列,以及相乘時(shí)系數(shù)相乘和next

指針。數(shù)據(jù)插入時(shí)比較兩數(shù)的指數(shù),按照降序排序,從表頭的next

開(kāi)始,直至找到合適的位置,然后開(kāi)始鏈表中數(shù)值的插入,如面,否則將新數(shù)據(jù)插入到最后。輸入完數(shù)據(jù)后選擇計(jì)算方式(相乘、3、 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)在模擬多項(xiàng)式對(duì)象時(shí),為了簡(jiǎn)化處理,只取最核心的兩個(gè)數(shù)據(jù):多項(xiàng)式的系數(shù)和指數(shù)。前面提到,要用單鏈表操作,所以要加上個(gè)next

指針,再由該結(jié)構(gòu)體定義一個(gè)結(jié)點(diǎn)類(lèi)型和指針類(lèi)型。具體數(shù)據(jù)結(jié)構(gòu)定義如下:typedef

struct

node{

/

int

xs; /*系數(shù)*/int

zs; /*指數(shù)*/struct

node

*

next; /*next

指針*/}Dnode,*

Dnodelist;4、 功能函數(shù)設(shè)計(jì)(1)鏈表初始化函數(shù)Creat_node()(2)多項(xiàng)式數(shù)據(jù)的創(chuàng)建函數(shù)Creat_Dmeth()當(dāng)鏈表初始化成功后,開(kāi)始創(chuàng)建多項(xiàng)式。分別循環(huán)輸入兩個(gè)多項(xiàng)式的系數(shù)和指數(shù),其中要用到插入函數(shù)。(3)數(shù)據(jù)的插入函數(shù)Insert_node()當(dāng)創(chuàng)建多項(xiàng)式時(shí),要用到此函數(shù),即利用插入的方式將多項(xiàng)式的數(shù)據(jù)連接起來(lái)。再輸入一組數(shù)據(jù)后,程序自動(dòng)調(diào)用此函數(shù),插入時(shí)也進(jìn)行著排序,從表頭的

next

開(kāi)始,一一比較指數(shù)大小,直到大于或前指向的前面,否則將新數(shù)據(jù)插入到最后。(4)多項(xiàng)式的顯示函數(shù)Show()從多項(xiàng)式表頭的

next

一一顯示。(5)選擇運(yùn)算方式的函數(shù)select()

為相減;每一種選擇調(diào)用相應(yīng)

/

的運(yùn)算函數(shù)。(6)多項(xiàng)式的運(yùn)算函數(shù):新建鏈表存儲(chǔ)計(jì)算后的多項(xiàng)式1、多項(xiàng)式相乘

Mulresult()創(chuàng)建兩個(gè)指針?lè)謩e指向兩個(gè)多項(xiàng)式表頭的

next,使用兩個(gè)

while表中。2、多項(xiàng)式相加

Addresult()創(chuàng)建兩個(gè)指針?lè)謩e指向兩個(gè)多項(xiàng)式表頭的

next,分別使用兩個(gè)while

函數(shù)獨(dú)自循環(huán),遍歷各自的每一組數(shù)據(jù),每遍歷一次都將系數(shù)據(jù)依次插入到新的多項(xiàng)式中即可完成多項(xiàng)式相加。3、多項(xiàng)式相減

Subresult()創(chuàng)建兩個(gè)指針?lè)謩e指向兩個(gè)多項(xiàng)式表頭的

1

的指數(shù)小于多項(xiàng)式將當(dāng)前多項(xiàng)式

2

項(xiàng)式

2

的指針指向下一個(gè);如果如果當(dāng)前多項(xiàng)式

1

的指數(shù)大于多項(xiàng)式

2,則將當(dāng)前多項(xiàng)式1

的系數(shù)指數(shù)不變,存入新建多項(xiàng)式中,指向多項(xiàng)式

1

的指針指向下一個(gè);否則將多項(xiàng)式

1

的系數(shù)減去

2

的系數(shù)

/

的數(shù)據(jù)全部插入到新建多項(xiàng)式中。(7)主函數(shù)

main()創(chuàng)建兩個(gè)多項(xiàng)式的鏈表并且初始化,分別調(diào)用相應(yīng)的多項(xiàng)式創(chuàng)建函數(shù),創(chuàng)建成功后選擇運(yùn)算方式,再將運(yùn)算結(jié)果輸出顯示。5、 程序代碼

/*定義結(jié)構(gòu)體*/

/*鏈表初始化*/

/*插入函數(shù)*/

/

/*創(chuàng)建多項(xiàng)式*/

/*以三組數(shù)據(jù)為例*/

/*多項(xiàng)式相乘*/

/

/*系數(shù)相乘,指數(shù)相加*/

/*多項(xiàng)式相加*/

/*多項(xiàng)式相減*/

/

/*由于是式

指數(shù)大(2

/

/*選擇函數(shù)*/

printf("請(qǐng)選擇:\n1:相乘\n2:相加\n3:相減\n");

/*調(diào)用相乘函數(shù)*/printf("相乘結(jié)果(系數(shù),指數(shù)):\n");

/*調(diào)用相加函數(shù)*/printf("相加結(jié)果(系數(shù),指數(shù)):\n");

/*調(diào)用相減函數(shù)*/printf("相減結(jié)果(系數(shù),指數(shù)):\n");printf("無(wú)此選項(xiàng)\n");

/*顯示(輸出)函數(shù)*/

/

/*創(chuàng)建多項(xiàng)式

/*創(chuàng)建多項(xiàng)式

/*選擇運(yùn)算方式*/ /*輸出顯示*/6、 運(yùn)行與測(cè)試程序運(yùn)行時(shí),先提示第一個(gè)多項(xiàng)式的組數(shù),確定組數(shù)后才可輸入

將進(jìn)行相應(yīng)的運(yùn)算并輸出顯示。錯(cuò)誤選擇:

/

相乘:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論