7 2 一元多項式的乘法與加法運算 20 分

2021-09-23 01:59:35 字數 2096 閱讀 3398

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

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

進行乘法運算, 則新的係數 = a[i]*a[j] , 新的指數=i+j ,同時判斷如果係數全為0,則輸出0 0;加法對應項相加即可

#include/*

挨個乘

另外我有乙個先標記非空位置,這樣就可以減少運算,但是對樣例三和樣例四不通過,但是我不知道錯在**,

#includeint sum(int*,int);

int main() ,b[1001]=;

int xishu,zhishu;

int flag1[k1] = ;

for(int i = 0 ; i < k1; i ++)

scanf("%d",&k2);

int flag2[k2] = ;

for(int i = 0 ; i < k2; i ++)

// 相乘

int c[2001] = ; // 次數相乘最大為1000*x^1000 * 1000 * x^1000

// 所以最大項的次數一定小於2001

for(int i = 0; i < k1 ; i ++)

} int flag = 1;

if(sum(c,2001) == 0) else

flag = 0;

printf("%d %d",c[i],i);

}} }

printf("\n");

// 相加

flag = 1;

if(sum(a,1001) == 0) else

flag = 0;

printf("%d %d",a[i],i);

}} }

return 0;

} // 判斷是不是係數全為0

以後有空了再用鍊錶做一下

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

written by robert wang in southwest university of science and technology.輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出分2行...

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

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

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

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