数据结构 用c语言实现 创建一个包含1到100中奇数的顺序表 要求从中删除序号为20的元素 并返回该元素

img

img


请大家看看我写的哪有问题 具体该怎么改 编译出来显示没有错误但运行不出来

贴一下原始代码,我实际跑一下看看

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

#define maxsize 100
#define ERROR 0
#define OVERFLOW -1
#define OK 1
typedef int Status;
typedef int ElemType;

typedef struct {
ElemType* elem;
int length;

}Sqlist;
Sqlist L;
Status InitList_Sq(Sqlist L) {
L->elem = (ElemType
)malloc(sizeof(ElemType) * maxsize);
if (!L->elem)exit(OVERFLOW);
L->length = 0;
return OK;

}
void input(Sqlist L,int n ) {
int i;
L->length = n;
for (i = 0;i < L->length;i++)
L->elem[i] = 2 * i + 1;
for (i = 0;i < L->length;i++)
printf("L->elem[i]");
}
Status ListDelete_Sq(Sqlist
L, int i) {
int j;
if ((i < 1) || (i > L->length))
return ERROR;
printf("删除的序号是%d\n", i);
for (j = i;j <= L->length - 1;j++)
L->elem[j - 1] = L->elem[j];
L->length--;
return OK;
}

int main() {
Status InitList_Sq(Sqlist * L);
void input(Sqlist *L, int n);
Status ListDelete_Sq(Sqlist * L, int i);
Sqlist L;
printf("顺序表为:\n");
int n = 50;
input(&L, n);
int i = 20;
ListDelete_Sq(&L, i);
return 0;

}