c语言设计一道题

来源:百度知道 编辑:UC知道 时间:2024/05/15 14:32:58
A,B,C为三个递增有序的线性表,在A中删除既在B中出现又在C中出现的元素,要求这三个线表都采用顺序存储结构存储

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define ElemType int
#define MAXSIZE 100 /*此处的宏定义常量表示线性表可能达到的最大长度*/
typedef struct
{
ElemType elem[MAXSIZE]; /*线性表占用的数组空间*/
int last; /*记录线性表中最后一个元素在数组elem[ ]中的位置(下标值),空表置为-1*/
}SeqList;
void fun(SeqList*LA,SeqList*LB,SeqList*LC,SeqList*LD)
{
int i,j,k,f;
f=0;
for(i=0;i<LA->last;i++)
{
for(j=0;j<LB->last;j++)
{if(LA->elem[i]=LB->elem[j])
for(k=0;k<LC->last;k++)
{if(LA->elem[i]=LC->elem[k])
LD->elem[f++]=LA->elem[i];
else if(LA->elem[i]<LC->elem[k])break;
}
else if(LA->elem[i]<LB->elem[j])break;
}
}
}
void main()
{
SeqList *la,*lb,*lc,*ld;
int r;
int i;
la=(SeqList*)malloc(sizeo