PAT 甲级 1002 A+B for Polynomials

题目描述

PAT 甲级 1002 A+B for Polynomials

题目理解

题目大意是给我们两个多项式序列,要求计算出两个多项式的和
示例给出的answer格式是:

项数 X的次数 X的次数 X的次数
3 2 1.5 1 2.9 0 3.2

代码实现

用两个数组记录输入;遍历一遍相加;把非0项统计并用ans记录;从大到小遍历数组从而实现X的次数从高到低;用printf控制输出格式。

#include <iostream>
using namespace std;

const int N = 1005;
double a[N],b[N];

int k,n;
double ai;

int main()
{
    cin>>k;
    while(k--){
        cin>>n>>ai;
        a[n]=ai;
    }

    cin>>k;
    while(k--){
        cin>>n>>ai;
        b[n]=ai;
    }

    int ans=0;
    for(int i=0;i<N;i++)
    {
        a[i]=a[i]+b[i];
        if(a[i]!=0) ans++;
    }

    for(int i=N-1;i>=0;i--)
    {
        if(a[i]) printf(" %d %.1lf", i, a[i]);
    }
    return 0;
}
上一篇:1002 写出这个数


下一篇:PAT-Advanced-【1002】A+B for Polynomials