C語言 多項式加法

2021-10-04 17:23:11 字數 1510 閱讀 9791

題目內容:

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

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

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

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

輸入格式:

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

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

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

輸出格式:

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

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

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

輸入樣例:

6 25 33 12

1 60 20

6 25 3

2 12

1 60 20

輸出樣例:

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

時間限制:500ms記憶體限制:32000kb

解題思路:

用陣列解決,陣列下標表示冪次,陣列元素的數值表示冪的係數。

**如下:

#include

intmain()

;int flag=

0,k=0;

int m,n,i;

while

(scanf

("%d %d"

,&m,

&n)!=

eof)

for(i=

100;i>=

0;i--)if

(a[i]

)else

}else

if(a[i]==-

1)else

}else

else}}

if(flag&&a[i-1]

>0)

printf

("+");

}if(k==0)

printf

("0");

return0;

}

注意事項:

1.程式要處理的冪最大為100,陣列大小至少是101

2. 注意題中隱含條件,要輸出的是多項式

(1)係數為1或冪次為1,這個1要省略,係數為-1時,1也要省略

(2)第一項沒有「+」

(3)係數為負時,前面沒有「+」,不用單獨輸出「-」,係數自帶「-」

(4)某一項的係數為0時,該項不用輸出

(5)如果所有項的係數都為0,則最後要輸出0

(6)0次冪時,只輸出係數,不輸出「x」

總結

C語言 多項式加法

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

C語言 多項式加法

目錄 題目內容 思路 中國大學mooc平台浙江大學翁愷老師,程式設計入門 c語言 第7周程式設計練習多項式加法 乙個多項式可以表達為x的各次冪與係數乘積的和,比如 2x6 3x5 12x3 6x 20 現在,你的程式要讀入兩個多項式,然後輸出這兩個多項式的和,也就是把對應的冪上的係數相加然後輸出。程...

多項式加法

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