(資料結構)一元多項式相加

2021-10-05 21:24:22 字數 1827 閱讀 3919

編寫一元多項式加法運算程式。要求用線性鍊錶儲存一元多項式(參照課本)。該程式有以下幾個功能:

多項式求和

輸入:輸入三個多項式,建立三個多項式鍊錶pa、pb、pc

輸出:顯示三個輸入多項式pa、pb、pc、和多項式pa+pb、多項式pa+pb+pc

退出根據所選功能的不同,輸入格式要求如下所示(第乙個資料是功能選擇編號,參見測試用例):

多項式a包含的項數,以指數遞增的順序輸入多項式a各項的係數(整數)、指數(整數)

多項式b包含的項數,以指數遞增的順序輸入多項式b各項的係數(整數)、指數(整數)

多項式c包含的項數,以指數遞增的順序輸入多項式c各項的係數(整數)、指數(整數)

0 ---操作終止,退出。

對應一組輸入,輸出一次操作的結果(參見測試用例)。

1 多項式輸出格式:以指數遞增的順序輸出: 《係數,指數》,《係數,指數》,《係數,指數》,參見測試用例。零多項式的輸出格式為<0,0>

0 無輸出

測試輸入:

1↵2↵

1 1 2 2↵

2↵1 1 2 2↵

2↵1 1 2 2↵

期待輸出:

<1,1>,<2,2>↵

<1,1>,<2,2>↵

<1,1>,<2,2>↵

<2,1>,<4,2>↵

< 3,1>,<6,2>↵

測試輸入:

1↵2↵

6 3 8 6↵

2↵3 4 4 8↵

3↵1 1 5 5 9 9↵

期待輸出:

<6,3>,<8,6>↵

< 3,4>,<4,8>↵

<1,1>,<5,5>,<9,9>↵

<6,3>,< 3,4>,<8,6>,<4,8>↵

<1,1>,<6,3>,< 3,4>,<5,5>,<8,6>,<4,8>,<9,9>↵

測試輸入:

1↵2↵

1 1 2 2↵

2↵-1 1 -2 2↵

2↵1 1 2 2↵

期待輸出:

<1,1>,<2,2>↵

<-1,1>,<-2,2>↵

<1,1>,<2,2>↵

<0,0>↵

<1,1>,<2,2>↵

#include

#include

typedef

struct node

*polynomial,polynomial;

void

createpolyn

(polynomial p,

int m)

p1->next =

null;}

void

printpolyn

(polynomial p)

printf

("<%d,%d>\n"

, tmp-

>coef, tmp-

>exp);}

}void

addpolyn

(polynomial pa, polynomial pb)

else

if(a == b)

else

hb->next = qb-

>next;

free

(qb)

;

qb = hb-

>next;

qa = ha-

>next;

}else

if(a > b)}if

(qb !=

null)}

}int

main()

return0;

}

資料結構 一元多項式相加

一元多項式相加 include include struct node typedef struct node polynomial 建立帶有表頭的鍊錶 poly用於儲存係數和指數 polynomial createpoly int poly,int len return head 銷毀鍊錶 voi...

資料結構作業 一元多項式相加

ifndef multinomial h included define multinomial h included include list.h 代表每一項 typedef struct napenape 把鍊錶和多項式放一起原因 避免標頭檔案相互包含產生錯誤 鍊錶的結構體 typedef st...

資料結構實驗之一元多項式相加

實驗內容 結合書上第41頁的例子,採用鏈式儲存結構,將兩個線性鍊錶表示的一元多項式相加,並輸出。此一元多項式遵循多項式相加運算規則 對於兩個一元多項式中存在指數相同的項時,其對應係數相加。合併後係數和為零時,刪除 和多項式 中此項 合併後係數和不為零時,則構成 和多項式 中的一項。對於兩個一元多項式...