PAT 1002 A+B for Polynomials——多项式相加

题解

原题链接
数组模拟即可,数组下标代表指数,里面的值代表系数

代码

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    double a[1001] ={0}, b[1001]={0}, c[1001]={0};
    int k, index,cnt=0;
    cin >> k;
    for (int i=0; i<k; i++)
    {
        cin >> index;
        cin >> a[index];
    }
    cin >> k;
    for (int i=0; i<k; i++)
    {
        cin >> index;
        cin >> b[index];
    }
    for (int i=0; i<1001; i++)
    {
        c[i] = a[i]+b[i];
        if (c[i]!=0)
            cnt++;
    }
    printf("%d",cnt);
    for (int i=1000; i>=0; i--)
    {
        if (c[i]!=0)
            printf(" %d %.1lf",i,c[i]);
    }
    return 0;
}

end

猜你喜欢

转载自blog.csdn.net/adventural/article/details/86745737