多項式加法 week7 C語言習題集

2021-07-15 10:56:18 字數 1533 閱讀 9481

多項式加法(5分)

題目內容:

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

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

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

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

輸入格式:

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

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

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

輸出格式:

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

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

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

輸入樣例:

6 2

5 3

3 12

1 6

0 20

6 2

5 3

2 12

1 6

0 20

輸出樣例:

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

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

#include 

#include

#define size 10

/*1 注意flag的存放,不能放在for迴圈裡面,否則每次for迴圈都置flag=0,導致內層else始終無法執行;

2 判斷條件中,arr[i]與i不要弄混了,這是邏輯錯誤

3 總體思路,先按係數分三類1,每類1裡面,按首項和其他項分類2,每類2裡面再按指數不同分三種處理情況,對應輸出不同格式

*/int main()

while(scanf("%d

%d",&expo,&coef))

//忘了加for 以便逆序輸出int flag = 0;

//不能放在for迴圈裡面,否則每次for迴圈都置flag=0,導致內層else始終無法執行;

for (i=size-1;i>=0;i--)

else

if (i == 1)

else

}else

else

if (i == 1)

else}}

else

if (arr[i] == 1)

else

if (i == 1)

else

}else

else

if (i == 1)

else}}

else

if (arr[i] == -1)

else

if (i == 1)

else }}

}if (flag == 0)

printf("0");

return

0;}

C語言 多項式加法

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

C語言 多項式加法

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

C語言 多項式加法

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