<span style="font-family: Arial, Helvetica, sans-serif;">#include <stdio.h></span>
#include <stdlib.h>
int main(int argc, char *argv[])
{
typedef struct
{
int ni;
double ani;
}poly;
poly a[11],b[11],c[23];
int k1,k2;
int i,j,p;
int m;
double n;
while( scanf("%d", &k1) != EOF )
{
for( i = 0 ; i < k1 ; i++ )
{
scanf("%d %lf", &a[i].ni, &a[i].ani);
}
scanf("%d", &k2);
for( j = 0 ; j < k2 ; j++ )
{
scanf("%d %lf", &b[j].ni, &b[j].ani);
}
p = 0;
for( i = 0, j = 0 ; i < k1 && j < k2 ; )
{
if( a[i].ni == b[j].ni )
{
m = a[i].ni;
n = a[i].ani + b[j].ani;
if( n != 0 )
{
c[p].ni = m;
c[p].ani = n;
p++;
i++;
j++;
}
else
{
i++;
j++;
}
}
else if( a[i].ni > b[j].ni )
{
c[p].ni = a[i].ni;
c[p].ani = a[i].ani;
p++;
i++;
}
else
{
c[p].ni = b[j].ni;
c[p].ani = b[j].ani;
p++;
j++;
}
}
if(i < k1)
{
for(; i < k1 ; i++)
{
c[p].ni = a[i].ni;
c[p].ani = a[i].ani;
p++;
}
}
if(j < k2 )
{
for(; j < k2 ; j++)
{
c[p].ni = b[j].ni;
c[p].ani = b[j].ani;
p++;
}
}
printf("%d", p);
for(i = 0 ; i < p ; i++)
{
printf(" %d %.1lf", c[i].ni, c[i].ani);
}
}
return 0;
}
讨论三种情况。