题意多项式求和,给出递减项数,并给出其系数。然后求的时候两项相同合并 不同输出就ok(行末尾不能有多余空格) 有一个略坑的点是如果多项式相加后系数=0 要消掉它
贴代码
#include<bits/stdc++.h>
using namespace std;
double sum[1200];
int flag[1200];
int main()
{
int k,num=0;
for(int i=0;i<2;i++)
{
cin>>k;
while(k--)
{
int a;
double b;
cin>>a>>b;
if(!flag[a]) flag[a] = 1;//标记是否存在该项
sum[a] += b;
}
}
for(int i=1100;i>=0;i--)
if(!fabs(sum[i])<1e-8) num++; //求系数非0项的个数
cout<<num;
for(int i=1100;i>=0;i--)
if(flag[i])
if(!fabs(sum[i])<1e-8)
printf(" %d %.1lf",i,sum[i]);//c++格式化输出比较麻烦,直接用printf
}