看嚴蔚敏的《資料結構》的書,第二章講鍊錶的時候介紹可以用鍊錶來儲存多項式的每一項(係數和指數),然後計算兩個多項式的加減乘除,於是用c語言實現了其中的多項式加法的操作,這裡把程式介紹一下。
首先是定義資料結構儲存多項式的一項。
typedef struct _polyitem
polyitem,*ppolyitem;
接下來是主程式:
polyitem poly1st;// 第乙個多項式的頭
polyitem poly2st;// 第二個多項式的頭
// 通知使用者輸入第乙個和第二個多項式
initpolynomial(&poly1st);
initpolynomial(&poly2st);
// 計算多項式加法
printf("開始計算多項式的和\n");
ppolyitem ptemp=null;
polyitem result;
ptemp=&result;
ppolyitem p1st=poly1st.pnext;
ppolyitem p2st=poly2st.pnext;
// 開始計算和
while(p1st!=null && p2st!=null)
p1st=p1st->pnext;
p2st=p2st->pnext;
}else
else
}}// 如果其中某乙個多項式還有多餘的項,則新增到結果的尾部
if(p1st!=null)
}if(p2st!=null)
}
下面計算多項式0.25+2x+3x^3和10+1.5x+3x^2+4x^4的值:
首先是輸入資料:
最後是計算結果
鍊錶之兩個多項式相加
this code is to calculate two main polynomial addition created by liuyao in 2016.include include typedef struct polynode polynode,polylist int initlis...
輸入兩個多項式,計算它們的和。
題目描述 輸入兩個多項式,計算它們的和。每個多項式有若干對整數表示,每組整數中,第乙個整數表示係數 非0 第二個整數表示該項的次數。如由3 3 5 2 1 4 0表示3x 5 2 x 4其中第乙個3表示該多項式由三個整數對表示。輸入 輸入為兩行,分別表示兩個多項式。表示每項的整數對按照次數大小降序給...
使用鍊錶實現兩個多項式相加和相乘
設計函式分別求兩個一元多項式的乘積與和。輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。...