
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAXSIZE 1000
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int Status;
typedef int ElemType;
typedef struct ListNode{
ElemType data[MAXSIZE];
int length;
}*SqList;
SqList InitList(){
SqList L;
L=(SqList)malloc(sizeof(struct ListNode));
L->length=0;
return L;
}
Status ListInsert(SqList L,int i,ElemType e){
int k;
if(L->length==MAXSIZE){
return ERROR;
}
if(i<1||i>L->length+1){
return ERROR;
}
if(i<=L->length){
for(k=L->length-1;k>=i-1;k--){
L->data[k+1]=L->data[k];
}
}
L->data[i-1]=e;
L->length++;
return OK;
}
Status ListDelete(SqList L,int i){
int k;
if(L->length==0){
return ERROR;
}
if(i<1||i>L->length){
return ERROR;
}
if(i<L->length){
for(k=i;k<L->length;k++){
L->data[k-1]=L->data[k];
}
}
L->length--;
return OK;
}
void Ans(SqList L,int x,int y){
int i;
for(i=0;i<L->length;i++){
if(L->data[i]>=x&&L->data[i]<=y){
ListDelete(L,i+1);
i--;
}
}
}
Status Output(SqList L){
int i;
for(i=0;i<L->length-1;i++){
printf("%d ",L->data[i]);
}
printf("%d\n",L->data[L->length-1]);
return OK;
}
int main(){
SqList L;
L=InitList();
int m,x,y,n;
scanf("%d",&m);
for(int i=1;i<=m;i++){
scanf("%d",&n);
ListInsert(L,i,n);
}
scanf("%d%d",&x,&y);
Ans(L,x,y);
Output(L);
return 0;
}