#include<iostream>
using namespace std;
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status;
typedef int ElemType;
#define MAXSIZE 100
typedef struct
{
ElemType *elem; //存储空间的基地址
int length; //当前长度
}SqList; //顺序表结构类型为SqList
Status InitList(SqList &L) //构造一个空的顺序表L
{
L.elem=new ElemType[MAXSIZE]; //分配空间
if(!L.elem) exit(OVERFLOW); //存储分配失败退出
L.length=0; //空表长度为零
return OK;
}
void ListInput(SqList &L,int n) //顺序表数据的输入
{
int i;
for(i=0;i<n;i++)
cin>>L.elem[i];
L.length=n;
}
void ListOutput(SqList L) //输出List
{
int i;
for(i=0;i<L.length-1;i++)
cout<<L.elem[i]<<" ";
cout<<L.elem[L.length-1];
}
int main()
{
SqList L;
int n;
InitList(L);
cin>>n;
if(n==0) return 0;
ListInput(L,n);
ListOutput(L);
return 0;
}
测试分析:一开始没有考虑n=0的情况,导致答案部分错误,后来改正