PAT 1002. A+B for Polynomials (25)

来源:互联网 发布:mysql创建表sql语句 编辑:程序博客网 时间:2024/06/07 20:38

多项式求和问题。本题比较清晰简单,只需开个数组对相应指数位置的数进行相加即可。

思路:

1.开个1000左右的浮点型数组,初始化为0。数组的下标对应指数大小(指数>=0),对于相应指数位置的数值,直接与该位置的数字相加。

2.因为要输出多少位的指数不等于0,设置一个计数器用于输出,控制格式即可。

代码如下:

#include <iostream>#include<cstdio>using namespace std;int main(){    double llist[1001]={0};    for(int i=0;i<2;i++)    {        int k;        cin>>k;        for(int j=0;j<k;j++)        {            int a;            double b;            cin>>a>>b;            llist[a]+=b;        }    }    int num=0;    for(int i=0;i<=1000;i++)    {        if(llist[i]!=0)            num++;    }    cout<<num;    for(int i=1000;i>=0;i--)    {        if(llist[i]!=0)        {            cout<<" ";            printf("%d %.1f", i, llist[i]);        }    }    return 0;}

原创粉丝点击