#include <stdio.h>
#define MaxSize 4
//初始化顺序表(顺序表中元素为整型),里边的元素是1,2,3,
//然后通过scanf读取一个元素(假如插入的是6),插入到第2个位置,
//打印输出顺序表,每个元素占3个空格,格式为1 6 2 3,
//然后scanf读取一个整型数,是删除的位置(假如输入为1),然后输出顺序表 6 2 3,
//假如输入的位置不合法,输出false字符串。
//提醒,Language一定要选为C++。
typedef int ElemType;
typedef struct {
ElemType data[MaxSize];
int length;
}SqList;
//打印顺序表
void PrintList(SqList L){
for (int i = 0; i <L.length ; i++) {
printf("%3d",L.data[i]);
}
printf("\n");
}
//实现函数的插入,i代表插入位置 ele代表插入元素
bool ListInsert(SqList &L,int i,ElemType ele){
int j;
for ( j = L.length; j >i-1 ; j--) {
L.data[j]=L.data[j-1];
}
L.data[i-1]=ele;//插入值
L.length++;//数组长度增加
return true;
}
//实现函数的删除,i代表删除位置
bool DeleteList(SqList &L,ElemType i)
{
//判断函数删除位置是否合法
if(i<1 || i>L.length)
{
return false;
} else{
for (int j =i-1; j <L.length-1 ; j++) {
L.data[j]=L.data[j+1];
}
L.length--;
return true;
}
}
int main() {
int value;//改变值
int pos;//删除位置
bool ret;//用来接受函数返回值
SqList L;
L.data[0]=1;
L.data[1]=2;
L.data[2]=3;
L.length=3;
scanf("%d",&value);
ret=ListInsert(L,2,value);
if(ret){
PrintList(L);
}
scanf("%d",&pos);
ret=DeleteList(L,pos);
if(ret){
PrintList(L);
} else{
printf("false");
}
return 0;
}
王道c语言督学营课时10作业
最新推荐文章于 2025-03-05 07:00:00 发布