#include<iostream>
#include<stdio.h>
#include<math.h>
#define NULL 0
#define LEN sizeof(struct ADD)
using namespace std;
struct ADD //定义结构体
{
float xishu; //数据域
int zhishu;
struct ADD *next; //指针域
};
void Initadd(ADD L) //单链表初始化函数
{
L.xishu = 0;
L.zhishu = 0;
L.next = NULL;
}
struct ADD *Creatadd(void) //前插法创建单链表
{
struct ADD *head,*p, *q;
int n = 0;
p = (struct ADD*)malloc(LEN);
q = p;
cin >> p->xishu >> p->zhishu;
head= NULL;
while (p->xishu!=0)
{
n++;
if (n == 1) head = p;
else q->next = p;
q = p;
p = (struct ADD*)malloc(LEN);
cin >> p->xishu >> p->zhishu;
}
q->next = NULL;
return head;
};
void ADDadd(struct ADD &p1,struct ADD &p2) //相加函数
{
struct ADD *a,*b,*c,*d;
a = &p1; //指针a指向p1
b = &p2; //指针b指向p2
c = a; //指针c指向指针a
while (a&&b)
{
if (a->zhishu < b->zhishu)
{
c =