#include
#define MAXLISTLEN 100
int ListLen=0,SeqList[MAXLISTLEN+1];
void SearchSeqList();
void InsertSeqList();
void DeleteSeqList();
void ShowSeqList();
int main(void)
{
int r[MAXLISTLEN],i,SearchPos,NewPos,Newltem,DelPos;
scanf("%d",&ListLen);
for (i=1;i<=ListLen;i++)
{
scanf("%d",&SeqList[i]);
}
ShowSeqList();
printf("输入查找元素的下标");
scanf("%d",&SearchPos);
SearchSeqList(SearchPos);
printf("输入插入位置与元素");
scanf("%d %d",&NewPos,&Newltem);
InsertSeqList(NewPos,Newltem);
ShowSeqList();
printf("输入要删除的元素下标");
scanf("%d",&DelPos);
DeleteSeqList(DelPos);
ShowSeqList();
}
int SearchSeqList(int i)
{
if((i>ListLen)||(i<1)||(ListLen=0))
else
{
return SeqList[i];
}
}
int InsertSeqList(int i,int Newltem)
{
int j;
if ((i>ListLen+1)||(i for(j=ListLen;j>=i;j--)
{
SeqList[j]=SeqList[j-1];
}
SeqList[j]=Newltem;
ListLen++;
}
int DeleteSeqList(int i)
{
int j;
if((i>ListLen)||(i<1)||(ListLen==0))
for(j=i;j<=ListLen;j++)
{
SeqList[j]=SeqList[j+1];
}
ListLen--;
}
int ShowSeqList()
{
int i;
for(i=1;i<=ListLen;i++)
{
printf("%d ",SeqList[i]);
}
printf("\n");
}
代码跟结果图在这为什么ShowSeqlist调用函数不会出现新的顺序表?
问题如果得到解决,麻烦点下我回答右边的采纳,谢谢
你的代码居然能运行?
if((i>ListLen)||(i<1)||(ListLen=0))
else
{
return SeqList[i];
}
这里if后面什么没有就else能编译通过?阴吹思婷。
你明明定义的是void SearchSeqList();又没有参数
SearchSeqList(SearchPos);这里参数哪里来的?
我怀疑你根本都没编译,运行的是之前的程序吧。
#include<stdio.h>
#define MAXLISTLEN 100
int ListLen=0,SeqList[MAXLISTLEN+1];
int SearchSeqList(int i);
void InsertSeqList(int i,int Newltem);
void DeleteSeqList(int i);
void ShowSeqList();
int main(void)
{
int r[MAXLISTLEN],i,SearchPos,NewPos,Newltem,DelPos;
scanf("%d",&ListLen);
for (i=1;i<=ListLen;i++)
{
scanf("%d",&SeqList[i]);
}
ShowSeqList();
printf("输入查找元素的下标");
scanf("%d",&SearchPos);
SearchSeqList(SearchPos);
printf("输入插入位置与元素");
scanf("%d %d",&NewPos,&Newltem);
InsertSeqList(NewPos,Newltem);
ShowSeqList();
printf("输入要删除的元素下标");
scanf("%d",&DelPos);
DeleteSeqList(DelPos);
ShowSeqList();
}
int SearchSeqList(int i)
{
if((i>ListLen)||(i<1)||(ListLen==0)) return -1; //注意==和=的区别。
else
{
return SeqList[i];
}
}
void InsertSeqList(int i,int Newltem)
{
int j;
if ((i>ListLen+1)||(i<1)||(ListLen==MAXLISTLEN)) return;
for(j=ListLen;j>=i;j--)
{
SeqList[j]=SeqList[j-1];
}
SeqList[j]=Newltem;
ListLen++;
}
void DeleteSeqList(int i)
{
int j;
if((i>ListLen)||(i<1)||(ListLen==0)) return;
for(j=i;j<=ListLen;j++)
{
SeqList[j]=SeqList[j+1];
}
ListLen--;
}
void ShowSeqList()
{
int i;
for(i=1;i<=ListLen;i++)
{
printf("%d ",SeqList[i]);
}
printf("\n");
}
SearchSeqList(SearchPos);
你没有接收和显示
应该是
int r = SearchSeqList(SearchPos);
printf("查找结果 %d", r);