鍊錶實現一元多項式的乘法與加法運算(C語言)

2021-10-12 07:16:52 字數 1619 閱讀 2816

求兩個一元多項式的乘積與和。

輸入格式:

輸入分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

my code:

#include

//陣列需已知陣列大小;可用動態陣列實現;本**用鍊錶實現

typedef

struct polynode *polynomial;

struct polynode

;void

attach

(int c,

int e,polynomial *prear)

//讀入多項式

polynomial readpoly()

t = p;

p = p->link;

free

(t);

//刪除臨時生成的頭結點

return p;

}//兩個多項式相加

polynomial add

(polynomial p1, polynomial p2)

else

// attach(t1->coef+t2->coef, t1->expon, &rear);

t1 = t1->link;

t2 = t2->link;

}else

if(t1->expon > t2->expon)

else

}while

(t1)

//當t1仍有剩餘項

while

(t2)

//當t1仍有剩餘項

t = p;

p = p->link;

free

(t);

//刪除臨時生成的頭結點

return p;

}//兩個多項式相乘

polynomial mult

(polynomial p1, polynomial p2)

t1 = t1->link;

while

(t1)

else

}else

t2 = t2->link;

} t1 = t1->link;

} t2 = p; p = p->link;

free

(t2)

;return p;

}void

printpoly

(polynomial p)

while

(p)printf

("\n");

}int

main()

一元多項式加法鍊錶實現

使用鍊錶實現一元多項式加法 並使用已有鍊錶返回運算結果 一元多項式求和 void sumlist slist a,slist b else output m output n t m next while m next null n next null else if m next exp n ne...

PTA 一元多項式的乘法與加法運算(鍊錶)

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

一元多項式的乘法與加法運算

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