多項式加法

2021-07-30 08:26:08 字數 1665 閱讀 8957

題目內容:

乙個多項式可以表達為x的各次冪與係數乘積的和,比如:

2x6+3x5+12x3+6x+20

現在,你的程式要讀入兩個多項式,然後輸出這兩個多項式的和,也就是把對應的冪上的係數相加然後輸出。

程式要處理的冪最大為100。

輸入格式:

總共要輸入兩個多項式,每個多項式的輸入格式如下:

每行輸入兩個數字,第乙個表示冪次,第二個表示該冪次的係數,所有的係數都是整數。第一行一定是最高冪,最後一行一定是0次冪。

注意第一行和最後一行之間不一定按照冪次降低順序排列;如果某個冪次的係數為0,就不出現在輸入資料中了;0次冪的係數為0時還是會出現在輸入資料中。

輸出格式:

從最高冪開始依次降到0冪,如:

2x6+3x5+12x3-6x+20

注意其中的x是小寫字母x,而且所有的符號之間都沒有空格,如果某個冪的係數為0則不需要有那項。

輸入樣例:

6 25 3

3 12

1 60 20

6 25 3

2 12

1 60 20

輸出樣例:

4x6+6x5+12x3+12x2+12x+40

時間限制:500ms

記憶體限制:32000kb

#include //多項式相加

int main()

; //建立1個陣列用於儲存多項式,並將其初始化為0

int mi,xishu,i,flag=0,k=0;

for (i=0;i<=1;i++) //循壞兩次輸入資料

while(mi);

} for (i=100;i>=0;i--)

else if (i==1)

else if (i==0)

}else if (polynum[i]==1) //係數等於1

else if (i==1)

else if (i==0)

} } else if (flag==0 || polynum[i]<0) //輸出結果第一項或係數小於0,不用輸出加號

else if (i==1)

else if (i==0)

flag=1;

}else if (polynum[i]==-1) //係數等於-1

else if (i==1)

else if (i==0)

flag=1; //第一項輸出完畢,開關關閉

k=1;

}else if (polynum[i]>0) //係數大於0

else if (i==1)

else if (i==0)

}else if (polynum[i]==1)

else if (i==1)

else if (i==0)

}flag=1; //第一項輸出完畢,開關關閉

k=1;

} } }

if (k==0) printf("0"); //若對應項相加全部為0,即沒有項輸出,則輸出0

return 0;

}

弄了一天終於弄出來了,自己還是太菜了

多項式加法

題目內容 乙個多項式可以表達為x的各次冪與係數乘積的和,比如 現在,你的程式要讀入兩個多項式,然後輸出這兩個多項式的和,也就是把對應的冪上的係數相加然後輸出。程式要處理的冪最大為100。輸入格式 總共要輸入兩個多項式,每個多項式的輸入格式如下 每行輸入兩個數字,第乙個表示冪次,第二個表示該冪次的係數...

多項式加法

題目內容 乙個多項式可以表達為x的各次冪與係數乘積的和,比如 2x6 3x5 12x3 6x 20 現在,你的程式要讀入兩個多項式,然後輸出這兩個多項式的和,也就是把對應的冪上的係數相加然後輸出。程式要處理的冪最大為100。輸入格式 總共要輸入兩個多項式,每個多項式的輸入格式如下 每行輸入兩個數字,...

多項式加法

給定兩個多項式p x 與q x 通過鍊錶實現它們的加法。有若干組,每組有2個多項式。每組輸入時先輸入第1個多項式,再輸入第2個多項式。每組用若干對整數表示,依序每兩個相鄰的整數表示多項式的一項,分別是它的係數和冪。當輸入的冪為負數時,表示乙個多項式的結束。乙個多項式中各項的次序是隨機的。對每組中兩個...