A1002

A+B for Polynomials (25分)

单词:

  • polynomials:多项式        coefficient :系数          exponent:指数
  • nonzero term:非零项  
  •  be accurate to 1 decimal place:精确到一位小数        decimal:小数;十进制的

总结:

  1. 设立数组m,长度为指数e最大值+1,下标与指数一一对应,存储对应的系数。                                                                   即 m[ ] = j指数i 系数=j,(j *  x^i
  2. 计数count++在相加完成后,因为A+B的系数可能正负相抵,读入过程中计数会出错。
  3. 格式:double类型输入%lf,输出%f。格式控制%.1f,保留一位小数

代码:

#include
double m[1001]={};//初始化为0

int main(){
    
    int k1,k2;
    int e; //指数 
    double c; //系数 
    int count=0;
    
    scanf("%d",&k1);
    while(k1--){
        scanf("%d %lf",&e,&c);
        m[e] += c;
    }
    scanf("%d",&k2);
    while(k2--){
        scanf("%d %lf",&e,&c);
        m[e] += c;
    }
    for(int i=0;i<=1000;i++){
        if(m[i]!=0)
            count++;
    }
    printf("%d",count);
    for(int i=1000;i>=0;i--){
        if(m[i]!=0){
            printf(" %d %.1f",i,m[i]);
        }
    }
    return 0;
} 

 

你可能感兴趣的:(#,模拟,PAT甲级)