多项式求和
#include <iostream>
using namespace std;
const int maxn=10010;
double a[maxn],b[maxn],c[maxn];//第一个多项式计入到a数组中
int main() {
int k;
cin>>k;
for(int i=0;i<k;i++)//输入第一个多项式
{
int n;
double v;
cin>>n>>v;
a[n]=v;
}
cin>>k;
for(int i=0;i<k;i++)//输入第二个多项式
{
int n;//指数
double v;//系数
cin>>n>>v;
b[n]=v;
}
//求和
for(int i=0;i<maxn;i++)
{
c[i]=a[i]+b[i];
}
k=0;//多项式的项数
for(int i=0;i<maxn;i++)
{
if(c[i])
{
k++;
}
}
cout<<k;
for(int i=maxn-1;i>=0;i--)//输出结果
{
if(c[i])
{
printf(" %d %.1f",i,c[i]);
}
}
return 0;
}