大意就是两行数字,首位是这一行有多少非零项目。Ni是次数,ANi是项数。
行一为F1(X),行二为F2(X). 输出结果为,非零项数目, 从高到低依次输出各项。
#include<bits/stdc++.h>
using namespace std;
int main(){
int line=2,K,a;//line =2 表示两行,执行while 两次,K是每行项数,a用来存次数
double aN[1010],b;//b用来存输入的浮点数。
for(int i=0;i<=1010;i++){//数组初始化为0;
aN[i]=0;
}
while(line--){
scanf("%d",&K);
while(K--){
scanf("%d%lf",&a,&b);
aN[a]+=b;
}
}
int cnt=0;
for(int i=0;i<1010;i++){
if(aN[i]!=0.0)cnt++;
}//计算非零项的数量
printf("%d",cnt);
for(int i=1010;i>=0;i--){
if(aN[i]!=0.0){
printf(" %d %.1lf",i,aN[i]);//输出,保留一位
}
}
return 0;
}