求助求助,程序没法运行,请大神帮忙!
答案:1 悬赏:0 手机版
解决时间 2021-11-19 20:44
- 提问者网友:难遇难求
- 2021-11-19 06:23
求助求助,程序没法运行,请大神帮忙!
最佳答案
- 五星知识达人网友:妄饮晩冬酒
- 2021-11-19 07:09
#include
#include
#define OK 1
#define ERROR 0
#define ElemType int
#define MAXSIZE 100
typedef struct
{
ElemType elem[MAXSIZE];
int last;
int length;
int data[10];
}SeqList;
void InitList(SeqList **L)
{
*L=(SeqList *)malloc(sizeof(SeqList));
(*L)->length=0;
}
void Creatlist(SeqList *L)
{
int i;
int n;
for (i=0;i L->data[i]=L->elem[i];
L->length=n;
}
void Output_L(SeqList *L)
{
int i;
printf("输出结果:
");
for(i=0;ilength;i++)
printf("%d",L->elem[i]);
}
void main()
{
int InsList(SeqList *L,int i,ElemType e);
int Locate(SeqList L, ElemType x);
int DelList(SeqList *L,int i,ElemType *e);
SeqList *L;
int i=0;
int a,e,m,x,y,z;
ElemType tmp;
InitList(&L);
//Creatlist(L);
printf("请输入顺序表中的数据:");
scanf("%d",&a);
while(a!=0)
{
L->elem[i]=a;
i++;
L->length++;
scanf("%d",&a);
}
Output_L(L);
printf("请输入需要插入的数据与在顺序表中第几个元素前插入:");
scanf("%d,%d", &e, &m);
InsList(L,m,e);
printf("
");
printf("请输入需要查询的数据:");
scanf("%d", &x);
Locate(*L,x);
printf("
");
printf("请输入需要删除的数据在顺序表中的位置:");
scanf("%d",&y);
DelList(L,y, &tmp);
}
int InsList(SeqList *L,int i,ElemType e)
{
int k;
if((i<1) || (i>L->last+2))
{
printf("插入位置i值不合法");
return(ERROR);
}
if(L->last>= MAXSIZE-1)
{
printf("表已满无法插入");
return(ERROR);
}
for(k=L->last;k>=i-1;k--)
L->elem[k+1]=L->elem[k];
L->elem[i-1]=e;
L->last++;
return(OK);
Output_L(L);
}
int Locate(SeqList L, ElemType x)
{
int i=0;
while ((i<=L.last)&&(L.elem[i]!=x))
i++;
if (i<=L.last)
return(i+1);
else
return(-1);
}
int DelList(SeqList *L,int i,ElemType *e)
{
int k;
if((i<1)||(i>L->last+1))
{
printf("删除位置不合法!");
return(ERROR);
}
*e = L->elem[i-1];
for(k=i; i<=L->last; k++)
L->elem[k-1] = L->elem[k];
L->last--;
return(OK);
Output_L(L);
}我只改了部分 剩下的交给LZ了 GOOD LUCK
#include
#define OK 1
#define ERROR 0
#define ElemType int
#define MAXSIZE 100
typedef struct
{
ElemType elem[MAXSIZE];
int last;
int length;
int data[10];
}SeqList;
void InitList(SeqList **L)
{
*L=(SeqList *)malloc(sizeof(SeqList));
(*L)->length=0;
}
void Creatlist(SeqList *L)
{
int i;
int n;
for (i=0;i
L->length=n;
}
void Output_L(SeqList *L)
{
int i;
printf("输出结果:
");
for(i=0;i
printf("%d",L->elem[i]);
}
void main()
{
int InsList(SeqList *L,int i,ElemType e);
int Locate(SeqList L, ElemType x);
int DelList(SeqList *L,int i,ElemType *e);
SeqList *L;
int i=0;
int a,e,m,x,y,z;
ElemType tmp;
InitList(&L);
//Creatlist(L);
printf("请输入顺序表中的数据:");
scanf("%d",&a);
while(a!=0)
{
L->elem[i]=a;
i++;
L->length++;
scanf("%d",&a);
}
Output_L(L);
printf("请输入需要插入的数据与在顺序表中第几个元素前插入:");
scanf("%d,%d", &e, &m);
InsList(L,m,e);
printf("
");
printf("请输入需要查询的数据:");
scanf("%d", &x);
Locate(*L,x);
printf("
");
printf("请输入需要删除的数据在顺序表中的位置:");
scanf("%d",&y);
DelList(L,y, &tmp);
}
int InsList(SeqList *L,int i,ElemType e)
{
int k;
if((i<1) || (i>L->last+2))
{
printf("插入位置i值不合法");
return(ERROR);
}
if(L->last>= MAXSIZE-1)
{
printf("表已满无法插入");
return(ERROR);
}
for(k=L->last;k>=i-1;k--)
L->elem[k+1]=L->elem[k];
L->elem[i-1]=e;
L->last++;
return(OK);
Output_L(L);
}
int Locate(SeqList L, ElemType x)
{
int i=0;
while ((i<=L.last)&&(L.elem[i]!=x))
i++;
if (i<=L.last)
return(i+1);
else
return(-1);
}
int DelList(SeqList *L,int i,ElemType *e)
{
int k;
if((i<1)||(i>L->last+1))
{
printf("删除位置不合法!");
return(ERROR);
}
*e = L->elem[i-1];
for(k=i; i<=L->last; k++)
L->elem[k-1] = L->elem[k];
L->last--;
return(OK);
Output_L(L);
}我只改了部分 剩下的交给LZ了 GOOD LUCK
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯