A+B for Polynomials (25分)
单词:
- polynomials:多项式 coefficient :系数 exponent:指数
- nonzero term:非零项
- be accurate to 1 decimal place:精确到一位小数 decimal:小数;十进制的
总结:
- 设立数组m,长度为指数e最大值+1,下标与指数一一对应,存储对应的系数。 即 m[ i ] = j:指数i 的系数=j,(j * x^i)
- 计数count++在相加完成后,因为A+B的系数可能正负相抵,读入过程中计数会出错。
- 格式:double类型输入%lf,输出%f。格式控制%.1f,保留一位小数。
代码:
#include<cstdio>
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;
}