满分答案,C++和C的结合,代码应该是比较简洁的了。
#include<iostream>
#include<cstdio>
#define MAX 1001
using namespace std;
int main(){
double a[MAX]={0};
int k1;
cin>>k1;
int exp;
double coe;
int num=0;
for(int i=0;i<k1;i++){
cin>>exp>>coe;
a[exp]=coe;
}
int k2;
cin>>k2;
for(int i=0;i<k2;i++){
cin>>exp>>coe;
a[exp]+=coe;
}
for(int i=0;i<MAX;i++){
if(a[i]!=0)
num++;
}
cout<<num;
for(int i=MAX-1;i>=0;i--){
if(a[i]!=0){
cout<<" "<<i<<" ";
printf("%.1f",a[i]);
}
}
return 0;
}