编辑代码

#include<stdio.h>
#define MaxSize (100+5)//表最大长度 
typedef int ElemType;//表类型 

typedef struct
{
	Elemtype a[MaxSize];//表元素 
	int n;//表长度 
}SeqList;

void printMenu();//输出系统菜单
void print(SeqList sq);//输出顺序表sq
void create(SeqList *sq);//创建顺序表sq,操作用指针
int findPos(SeqList sq,ElemType item);//查找item的位置,找不到返回-1
int insert(SeqList *sq,int i,ElemType item);//插入item,成功返回1,失败返回-1
int del(SeqList *sq,int i);//删除
int modify(SeqList *sq,int i ,ElemType item);//修改第i个元素
void sort(SeqList *sq);//排序
void insertSorted(SeqList *sq,ElemType item);//在有序的表中插入item
void mergeSorted(SeqList *sq,SeqList s1,SeqList s2);//合并s1,s1到s

int main()
{
	printMenu();
	int choice,p,x;//用户选择,位置,插入元素 
	SeqList sq;//初始化空表 
	sq.n = 0;
	while(~scanf("%d",&choice))//菜单循环 
	{
		switch(choice)
		{
			case 0:printf("0.输出顺序表\n");
			       print(sq);
				   break;
				
			case 1:print("1.创建顺序表\n");
                   create(&sq);
                   printf("创建成功,输出顺序表\n");
                   print(sq);
                   break;
   
   			case 2:printf("2.查找一个元素item在顺序表中的位置\n");
			       printf("请输入查找的元素:\n");
			       scanf("%d",&item);
			       if(findPos(sq,item) == -1)
		       	   		printf("该元素不存在\n");
   			       else
   			       		printf("%d",p);
			       break;
			       
      		case 3:printf("3.在顺序表的第i个位置插入一个元素item\n");
  				   printf("请输入插入的位置和元素:\n");
  				   scanf("%d%d",&p,&x);
  				   if(insert(&sq,p,x) == -1)
				   		printf("插入失败\n");
	               else
	               		print(sq);
       			   break;
       			   
   			case 4:printf("4.删除顺序表第i个位置的元素\n");
   				   printf("请输入删除的位置和元素:\n");
   				   scanf("%d%d",&p,&x);
   				   if(del(&sq,p) == -1)
   				   		printf("删除失败\n");
	   		       else
	   		       		print(sq);
       			   break;
       			   
     		case 5:printf("5.修改顺序表第i位置的元素\n");
                   printf("请输入修改的位置和元素:");
                   scanf("%d%d",&p,&item);
                   if(modify(&sq,p,item) == -1)
                        printf("修改失败\n");
                    else
                        print(sq);
                    break;
     			   
            case 6:printf("6.对顺序表sq排序\n");
                   sort(&sq);
                   printf("排序成功,输出顺序表\n");
                   print(sq);

            case 7:printf("7.在有序的顺序表中插入一个元素item\n");
                  printf("请输入要插入的元素:\n");
                  scanf("%d",&item)
                  insertSorted(&sq,item);
                  printf("插入成功,输出顺序表\n");
                  print(sq);
                  break;

            case 8:printf("8.合并有序表\n");
                   SeqList s1,s2;
                   printf("请输入2个有序表(务必从小到大排序):\n");
                   create(&s1);
                   create(&s2);
                   mergeSorted(&sq,s1,s2);
                   printf("合并成功,输出顺序表\n");
                   print(sq);
                   break;

            case 19:printMenu();
                    return 0;
            case 20:printf("系统即将退出,欢迎再次使用!\n");
                    break;
            default:
                    printf("你的选择有误,请重新输入!\n");
		}
	}
    return 0;
} 

void printMenu()//输出系统菜单
{
	printf("欢迎进入顺序表操作子系统!\n");
	printf("------------------------------------------\n");
	printf("0.输出顺序表\n") ;
	printf("1.创建顺序表\n");
	printf("2.查找一个元素item在顺序表的位置\n");
	printf("3.在顺序表第i个位置插入一个元素item\n");
	printf("4.删除顺序表第i个位置的元素\n");
	printf("5.修改顺序表第i个位置的元素\n");
	printf("******************************************\n");
    printf("6.对顺序表sq排序\n");
    printf("7.在有序的顺序表中插入一个元素item\n");
	printf("8.合并有序表\n");
	printf("******************************************\n");
	printf("9.预留功能\n");
	printf("******************************************\n");
	printf("19.输出系统菜单\n");
	printf("20.退出系统"); 
	printf("------------------------------------------\n");	
}

void print(SeqList sq)
{
    printf("顺序表的长度是:%d\n",sq.n);
    for(int i = 0;i < sq.n;i++)
    {
        printf("%d ",sq.a[i]);
    }
    printf("\n");
}

void create(SeqList *sq)
{
    printf("请输入顺序表的元素(ctrl+z结束输入):\n");
    int n = 0,x;
    while(~scanf("%d",&x))
    {
        sq -> a[n] = x;
        n++;
    }
    sq -> n = n;
}

int findPos(SeqList sq,ElemType item)
{

}

int insert(SeqList *sq,int i, ElemType item)
{
    if(sq -> n === MaxSize || i < 1 || i > sq -> n+1)
        return -1;
    for(int j = sq -> n-1;j >= i-1;j--)
    {
        sq -> a[j+1] = sq -> a[j];
    }
    sq -> a[i-1] = item;
    (sq -> n)++;
    return 1;
}

int del(SeqList *sq,int i,ElemType item)
{

}

int modify(SeqList *sq,int i)
{

}

void sort(SeqList *sq)
{

}

void insertSorted(SeqList *sq,ElemType item)
{

}

void mergeSorted(SeqList *sq,SeqList s1,SeqList s2)
{
    
}