多項式加法

2021-06-28 03:02:39 字數 1550 閱讀 8491

題目內容:

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

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

程式要處理的冪最大為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(void)

scanf("%d %d",&a, &b);//逐一輸入資料構建 

n[a]=b;

while(a!=0)

scanf("%d %d",&a, &b);

m[a]=b;

while(a!=0)

for(i=0;is[i]=n[i]+m[i];  // 得出可輸出的最終陣列  }

int ret=1;//作為判斷是否第一次輸出的工具 

for(i=m-1;i>1;i--) // 在i>1這個範圍開始輸出 ,要考慮係數是否是1或-1情況 

else  

else

}  }

if(s[i]==1||s[i]==-1)  

else  

ret=0;  }

else  

else

}  }

} if(s[1]>1||s[1]

else if(s[1]

} else

else if(s[1]

} }

else if(s[1]==1||s[1]==-1)

else if(s[1]==-1)

ret=0; }

else

else if(s[1]==-1)

} }

if(s[0]>0||s[0]<0) //在i=0這個位置上輸出; 確保0也能夠輸出 

else

else

} }

else 

else

} return 0; }

多項式加法

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

多項式加法

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

多項式加法

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