題目內容:
乙個多項式可以表達為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個多項式。每組用若干對整數表示,依序每兩個相鄰的整數表示多項式的一項,分別是它的係數和冪。當輸入的冪為負數時,表示乙個多項式的結束。乙個多項式中各項的次序是隨機的。對每組中兩個...