http://pat.zju.edu.cn/contests/pat-practise/1002
浮点数为零的判断条件要小心。。
#include <stdio.h>
#include <cmath>
#define MAXN 1024
double num[1024];
int main()
{
int i;
int m=0;
for(i=0;i<2;i++){
int n;
scanf("%d",&n);
for(int j=0;j<n;j++){
int a;
double b;
scanf("%d%lf",&a,&b);
num[a]+=b;
}
}
for(i=MAXN-1;i>=0;i--){
if(fabs(num[i])>1e-5){
m++;
}
}
printf("%d",m);
for(i=MAXN-1;i>=0;i--)
{
if(fabs(num[i])>1e-5)
printf(" %d %.1lf",i,num[i]);
}
putchar('\n');
}