[C语言链表]怎样在一个顺序表中删所有的x元素
在一个顺序表中删所有的x元素#include <stdio.h>
#define maxsize 30
typedef struct
{
int elem[maxsize];
int length; //线性表长度
}seqlist;
void input(seqlist *A)
{
int i,n;
printf("input the total numbers of elem n:\t");
scanf("%d",&n);
A->length=n;
for(i=0;i<A->length;i++)
{
printf("input the %d number:\t",i+1);
scanf("%d",&elem[i]);
}
}
int delet(seqlist *A,int i,int x) // i表示x元素所在的位置
{
int j;
if(i<1 || i>A->length)
{
printf("已超出长度范围,表中未发现 x");
return ERROR;
}
else
{
for(i=0;i<A->length;i++)
{
if(elem[i+1]==x)
{
for(j=i;j<A->length-1;j++)
A->elem[j]=A->elem[j+1];
A->length--;
return TRUE;
}
}
}
}
void output(seqlist *A)
{
int i;
printf("the order of the elem now is:\t");
for(i=0;i<A->length;i++)
printf("%d",elem[i]);
printf("\n");
}
void mian()
{
seqlist *A;
int x;
input(A);
output(A);
printf("input what you want to delete:\t",x);
scanf("%d",&x);
delet(A,i,x);
output(A);
}