编辑代码

#include <stdio.h> 
#define DATATYPE1 int
#define MAXSIZE 100
typedef struct 
{
    DATATYPE1 data[MAXSIZE];
    int len;
}SEQUENLIST;
//初始化操作
void INITIATE (SEQUENLIST *L){
    L->len = 0;
    return;
}
//求表的长度操作
int LENGTH(SEQUENLIST *L){
    return(L->len);
}
//取元素操作
DATATYPE1 GET(SEQUENLIST *L,int i){
    if (i < 1 || i > L->len)
        return(0);
    else
        return(L->data[i-1]);
}
//定位操作
int LOCATE(SEQUENLIST *L,DATATYPE1 x){
    int k;
    k=1;
    while (k <= L->len && L->data[k-1]!= x)
        k++;
    if (k<=L->len)
        return(k);
    else
        return(0); 
    }
    //插入操作
void INSERT(SEQUENLIST *L,int i,DATATYPE1 b){
    int k;
    if (i < 1 || i>L->len+1 || L->len>=MAXSIZE)
        printf("error");
    else
        for (k=L->len; k>=i;k--)
            L->data[k]=L->data[k-1];
        L->data[i-1]=b;
        L->len++;
}
//删除操作
void DELETE(SEQUENLIST *L,int i)
{
    int k;
    if (i < 1 || i > L->len || L->len==0)
        printf("error");
    else{
        for ( k = i+1; k <= L->len; k++)
        L->data[k-2] = L->data[k-1];
        L->len--;  
    }  
}
//判断表空的操作
int EMPTY(SEQUENLIST *L){
    if (L->len==0)
        return(1);
    else
        return(0); 
}
 int main(){
    SEQUENLIST A,B,C,*LA,*LB,*LC;
    LA=&A;
    LB=&B;
    LC=&C;
    INITIATE(LA);
    INITIATE(LB);
    INITIATE(LC);
    int i,j;

    //给LA插入元素
    printf("给LA插入元素,-99结束:\n");
    scanf("%d",&i);
    j=1;
    while(i!=-99)
    {    INSERT(LA,j,i);
    j++;
    scanf("%d",&i);
    }
    printf("\n输出LA元素:\n");
    //输出LA的元素内容
    for(i=1;i<=LENGTH(LA);i++)
    printf("%d\t",GET(LA,i));



        //给LB插入元素
    printf("\n给LB插入元素,-99结束:\n");
    scanf("%d",&i);
    j=1;
    while(i!=-99)
    {    INSERT(LB,j,i);
    j++;
    scanf("%d",&i);
    }
    //输出LB的元素内容
    printf("\n输出LB元素:\n");
    for(i=1;i<=LENGTH(LB);i++)
    printf("%d\t",GET(LB,i));



//给LC插入元素
    i=j=1;
    int k=1;
    while(i<=LENGTH(LA)&&j<=LENGTH(LB)){
        if(GET(LA,i)<GET(LB,j)){
            INSERT(LC,k,GET(LA,i));
            i++;
            k++;
        }else{
            INSERT(LC,k,GET(LB,j));
            j++;
            k++;
        }
    }
    while(i<=LENGTH(LA)){
        INSERT(LC,k,GET(LA,i));
            i++;
            k++;
    }
    while(j<=LENGTH(LB)){
        INSERT(LC,k,GET(LB,j));
            j++;
            k++;
    }
    //输出LC的元素内容
    printf("\n输出LC元素:\n");
    for(i=1;i<=LENGTH(LC);i++)
    printf("%d\t",GET(LC,i));

}