多項式加法(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 現在,你的程式要讀入兩個多項式,然後輸出這兩個多項式的和,也就是把對應的冪上的係數相加然後輸出。程...