该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
帮你改好了:
#include
#include
#define MAXSIZE 20
typedef int datatype;
typedef struct
{datatype data[MAXSIZE];
int last; /*顺序表中最后一个元素的序号*/
}SeqList;
/*创建顺序表*/
void input(SeqList *L)
{int i,x;
i=0;
printf("\n输入顺序表元素值,-1结束:");
scanf("%d",&x);
while(x!=-1)
{L->data[i]=x;i++;
if(i==MAXSIZE)printf("表空间已满!");
else scanf("%d",&x);
}
L->last=i-1;
}
/*删除重复元素*/
void Del(SeqList *L)
{int i,j,k,h;
h=(*L).last; // len改成last
if(h==0)
printf("List is empty\n");
else
for(i=0;i
for(j=i+1;j
{if((*L).data[j]==(*L).data[i]) /*找相同元素*/
{for(k=j;k
(*L).data[k]=(*L).data[k+1]; /*元素前移*/
(*L).last--; // len改成last
}
}
}
/*输出顺序表*/
void output(SeqList *L)
{int i;
printf("\n输出顺序表中的各个元素值:\n");
for(i=0;i<=L->last;i++)
printf("%d ",L->data[i]);
}
/*主函数*/
void main()
{SeqList *L;
L=(SeqList *)malloc(sizeof(SeqList));
input(L);
Del(L);
output(L);
//getch(); // 注释掉这句
}