- 第二题小编看了半天也没明白这题目说的是啥,然后问了一个大佬终于明白(要好好学英语)这题就是一个多项式合并问题
- 每次输入有两行,K代表每次输入几个参数,然后N1为次方,aN1为前面的系数,举个例子,2x^4就是N1为4,aN1为2
- 先输出为x的个数,次方从大到小分别输出次方和系数
- 终于理解题目了,小编我是用了一个数组(因为还没有遇到STL),数组下标存的是次方,数组里面存的是 系数
- 一下附上ac代码
#include<stdio.h>
int main()
{
int k1;
double a[1005]={0};
int k2;
int max=-1;
int num=0;
scanf("%d",&k1);
getchar();
for(int i=0;i<k1;i++){
int j=0;
double temp;
scanf("%d %lf",&j,&temp);
a[j]=temp;
if(j>max)
max=j;
}
scanf("%d",&k2);
getchar();
for(int i=0;i<k2;i++){
int j=0;
double temp;
scanf("%d %lf",&j,&temp);
a[j]=a[j]+temp;
if(j>max)
max=j;
}
for(int i=max;i>-1;i--){
if(a[i]!=0){
num++;
}
}
if(num==0){
printf("0");
}
else{
printf("%d",num);
for(int i=max;i>-1;i--){
if(a[i]!=0){
printf(" %d %.1f",i,a[i]);
}
}
}
return 0;
}