1002 A+B for Polynomials (25分)
阿新 • • 發佈:2021-01-13
題目
可以理解為輸入兩個多項式,求和
輸入
2 1 2.4 0 3.2
2 2 1.5 1 0.5
第一行為 k = 2,x1 = 2.4,x0 = 3.2
第二行為 k = 2,x2 = 1.5,x1 = 0.5
想法
輸入的N1,N2就是陣列的下標,小數就是陣列內的值,弄兩個陣列(或是二維陣列),結果加起來按格式輸出就好了
程式碼
#include<iostream>
using namespace std;
int main(){
float a[2][10000];
float number;
int k,index,max_index= 0;
int i,j;
for(i=0; i<2; i++){
cin >> k;
for(j=0; j<k; j++){
cin >> index >> number;
a[i][index] = number;
if(max_index < index)
max_index = index;
}
}
for(i=0; i <= max_index; i++)
a[0][i] + = a[1][i];//結果放在a[0]
int count=0;//計數,用於最後輸出
for(i=0; i <= max_index; i++)
if(a[0][i]!=0)
count++;
printf("%d", count);
for(i=max_index; i>=0; i--)//從後往前輸出
if(a[0][i] != 0)
printf(" %d %.1f", i, a[0][i]);
return 0;
}