zoukankan      html  css  js  c++  java
  • pat甲级1002 A+B for Polynomials

    题意:输入为两行,每一行代表一个多项式,第一个数字表示多项式有几项,后面每两个数字分别代表一项中的指数和系数。要求两个多项式相加的和。

    分析:用一个double型数组模拟即可,需要注意的是如果系数为0,则对应项不输出,另外输出结果保留一位小数。

     1 #include<iostream>
     2 #include<algorithm>
     3 #include<cstring>
     4 #include<cmath>
     5 #include<iomanip>
     6 using namespace std;
     7 double p[1001];
     8 int main()
     9 {
    10     ios::sync_with_stdio(false);
    11     cin.tie(0);
    12     cout.tie(0);
    13     int k1,k2;
    14     while(cin>>k1)
    15     {
    16         memset(p,0,sizeof(p));
    17         for(int i=0;i<k1;i++)
    18         {
    19             int zs;double xs;
    20             cin>>zs>>xs;
    21             p[zs]+=xs;
    22         }
    23         cin>>k2;
    24         for(int i=0;i<k2;i++)
    25         {
    26             int zs;double xs;
    27             cin>>zs>>xs;
    28             p[zs]+=xs;
    29         }
    30         int sum=0;//记录多项式相加后还有多少存在的项
    31         for(int i=0;i<=1000;i++)
    32         {
    33             if(p[i]!=0.0)
    34             {
    35                 sum++;
    36             }
    37         }
    38         cout<<sum;
    39         for(int i=1000;i>=0;i--)
    40         {
    41             if(p[i]!=0.0)
    42             {
    43                 cout<<" "<<i<<" "<<fixed<<setprecision(1)<<p[i];//printf("%0.1f", p[i]);一样,个人输出习惯而已
    44             }
    45         }
    46         cout<<endl;
    47     }
    48     return 0;
    49 }
  • 相关阅读:
    Android View部分消失效果实现
    Android TV Overscan
    一招搞定短信验证码服务不稳定
    揭秘:网上抽奖系统如何防止刷奖
    SVN迁移到GIT
    Android之高效率截图
    Android TV 开发(5)
    Android 标题栏(2)
    Android 标题栏(1)
    一步步教你学会browserify
  • 原文地址:https://www.cnblogs.com/wade1998/p/13419888.html
Copyright © 2011-2022 走看看