1.數組定義一定要是double a[1001]={};,a[1001]默認不是0
2.注意循環邊界for(int k=0;k<1001;k++)
#include<stdio.h>
using namespace std;
int main()
{
int k1,k2,i,j,count=0;
double a[1001]={};
double t;
scanf("%d",&k1);
for(int k=0;k<k1;k++){
scanf("%d%lf",&i,&t);
a[i]=t;
}
scanf("%d",&k2);
for(int k=0;k<k2;k++){
scanf("%d%lf",&j,&t);
a[j]=a[j]+t;
}
for(int k=0;k<1001;k++){
if(a[k]!=0){count++;}
}
printf("%d",count);
for(int k=1000;k>=0;k--){
if(a[k]!=0)printf(" %d %.1f",k,a[k]);
}
return 0;
}