#include<stdio.h>
#include<stdlib.h>
#define LEN  sizeof(struct JD)

struct JD
  {
    float x;
    int c;
    struct JD *next;
  };
struct JD *H,*G;

struct JD*creat(void)
{
    struct JD *A,*L,*M;
    printf("输入链表1的数据以0结尾\n");
    L=(struct JD*) malloc(LEN);
    if(!L) printf("error");
    A=L;M=L;
    scanf("%f\n%d",&L->x,&L->c);
   L->next=(struct JD*)malloc(LEN);
   if(!L->next) printf("error");
   L=L->next;
   scanf("%f\n%d",&L->x,&L->c);  
   while(L->x!=0)
        {
                 L->next=(struct JD*)malloc(LEN);
                 if(!L->next) printf("error");
                 L=L->next;
                 M=M->next;
                 scanf("%f\n%d",&L->x,&L->c);
         }
       M->next=NULL;
       return(A);
}

struct JD*creat1(void)
{
     struct JD *B,*L1,*M1;
     printf("输入链表2的数据以0结尾\n");
     L1=(struct JD*) malloc(LEN);
     if(!L1) printf("error");
     B=L1;M1=L1;
     scanf("%f\n%d",&L1->x,&L1->c);
     L1->next=(struct JD*)malloc(LEN);
     if(!L1->next) printf("error");
     L1=L1->next;
     scanf("%f\n%d",&L1->x,&L1->c);
        while(L1->x!=0)
             {
             L1->next=(struct JD*)malloc(LEN);
              if(!L1->next) printf("error");
              L1=L1->next;
               M1=M1->next;
             scanf("%f\n%d",&L1->x,&L1->c);
          }
     M1->next=NULL;
     return(B);
}