1002 A+B for Polynomials (25分)

一、题目
image.png
二、注意
  1. 不同项指数和系数可用数组来表示。指数同,系数相加,故指数为数组下标,系数为元素值
  2. 特殊的格式输出的时候使用printf来输出
小数点后保留两位输出
printf("%.2f",a); 
  1. 单词
    • Polynomials:多项式
    • the number of nonzero terms in the polynomial: 多项式中非零项的数量
    • exponents and coefficients:指数和系数
三、思路代码
#include <iostream>
using namespace std;
int main()
{
    //N(指数) a(系数)
    //运算规则,指数同,系数相加
    float num[1001] = { 0 }; //定义i在0到1000之间,即为指数N
    int K1,K2,N; //项数和指数
    float a; //系数
    //处理第一项
    cin >>K1; //输入K1
    for(int i=0; i<K1; i++) //将输入的每一个数存入num数组中,指数为数组下标,系数为数组元素值
    {
        cin >>N;
        cin >>a;
        num[N] = a; //赋值
    }
    //处理第二项
    cin>>K2; //输入K2
    for(int k=0;k<K2;k++)
    {
        cin >>N;
        cin >>a;
        num[N] += a;//  非相同项,直接赋值
        }
    int K = 0;
    //求最终项数
    for(int i=0;i<1001;i++)
    {
        if(num[i]!=0)
        {
            K++;
        }
    }
    cout <<K;  //输出最终项数
    for(int i=1000;i>=0;i--) //找到非零项,按照指数大小,从大往小打印输出
    {
       if(num[i]!=0.0)
       {
           printf(" %d %.1f",i,num[i]);
       }
    }
    return 0;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容