计算多项式 A + B 的和,设立多项式数组 a ,长度为指数的最大值,接收两行输入的同时将对应的指数和系数加入到 a 中,最后统计 a 中系数值非 0 的元素个数,输出系数非 0 的多项式指数和系数
#include<iostream>
using namespace std;
int main(){
float num,a[1001] = {0}; //当数组被部分初始化时,没有被初始化的部分自动赋为0
int k,m;
scanf("%d",&k);
for(int i=0;i<k;i++){
scanf("%d %f",&m,&num);
a[m] += num;
}
scanf("%d",&k);
for(int i=0;i<k;i++){
scanf("%d %f",&m,&num);
a[m] += num;
}
int count = 0;
for(int i=0;i<1001;i++){
if(a[i]!=0) count++;
}
printf("%d",count);
for(int i=1000;i>=0;i--){
if(a[i]!=0) printf(" %d %.1f",i,a[i]);
}
}