知识点:
memset(m,0.0,sizeof(m))
小结:
第一次只有17分,原因是没有考虑到输出要保留一位小数
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int k;
int n,sum=0;
double t;
double m[1010];
memset(m,0.0,sizeof(m));
cin>>k;
for(int i=1;i<=k;i++)
{
cin>>n;
cin>>t;
m[n]+=t;
}
cin>>k;
for(int i=1;i<=k;i++)
{
cin>>n;
cin>>t;
m[n]+=t;
}
for(int i=1000;i>=0;i--)
{
if(m[i]!=0)
sum+=1;
}
cout<<sum;
for(int i=1000;i>=0;i--)
{
if(m[i]!=0.0)
{
printf(" %d %.1f",i,m[i]);
// cout<<" "<<i<<" "<<m[i];
}
}
return 0;
}