PTA 資料結構 一元多項式的乘法與加法運算

2021-08-30 19:40:37 字數 1691 閱讀 5575

7-1 一元多項式的乘法與加法運算 (20 分)

設計函式分別求兩個一元多項式的乘積與和。

輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。

輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。零多項式應輸出0 0

4 3 4 -5 2  6 1  -2 0

3 5 20 -7 4 3 1

15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1

5 20 -4 4 -5 2 9 1 -2 0

//庫函式標頭檔案包含

#include#include#include//函式狀態碼定義

#define true 1

#define false 0

#define ok 1

#define error 0

#define infeasible -1

#define overflow -2

typedef int status;

typedef struct

elemtype;

typedef struct lnode

lnode,*linklist;

typedef linklist polynomial;

status initpolyn(polynomial &p)

void printpolyn(polynomial p)

while(ptr)

else

printf(" %d %d",ptr->data.coef,ptr->data.expn);

ptr = ptr->next;

}printf("\n");

}status readpolyn(polynomial &p)

return ok;

}int compare(elemtype e1,elemtype e2)

void attach(int coef,int expn,polynomial &p) //新增指定項到鍊錶尾部,並使p指向尾部

void addpolyn(polynomial po1,polynomial po2,polynomial result)

}while(p1) //1中有剩餘

while(p2) //2中有剩餘

}void destorypolyn(polynomial &p)

p = null;

}void multipolyn(polynomial po1,polynomial po2,polynomial &result)

addpolyn(tmp1,tmp2,result);

destorypolyn(tmp1);

tmp1 = result; //將本次計算結果轉存到tmp1

result = null;

destorypolyn(tmp2);

p1 = p1->next;

}result = tmp1;

}int main()

PTA 資料結構 一元多項式求導

7 2 一元多項式求導 20 分 設計函式求一元多項式的導數。以指數遞降方式輸入多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。3 4 5 2 6 1 2 012 3 10 1 6 ...

資料結構 PTA一元多項式的乘法與加法運算

設計函式分別求兩個一元多項式的乘積與和。輸入格式 輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出格式 輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但...

PTA 資料結構 一元多項式的乘法與加法運算

7 2 一元多項式的乘法與加法運算 20 分 設計函式分別求兩個一元多項式的乘積與和。輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和...