#include<stdio.h>
#include<stdlib.h>
typedef int ElemType;
typedef struct
{
ElemType *elem; /* 存储空间基址 */
int length; /* 当前长度 */
int listsize; /* 当前分配的存储容量(以sizeof(ElemType)为单位) */
} SqList;
void InitList(SqList &L) /* 算法2.3 */
{
/* 操作结果:构造一个空的顺序线性表 */
L.elem=(ElemType*)malloc(10*sizeof(ElemType));
if(!L.elem)
printf("ERROR!\n"); /* 存储分配失败 */
L.length=0; /* 空表长度为0 */
L.listsize=100; /* 初始存储容量 */
}
int ListAdd(SqList &L,ElemType n)
{
if(L.length >=L.listsize)
{
ElemType*newbase=(ElemType*)realloc(L.elem,(L.listsize+10)*sizeof(ElemType));
if(!newbase)
return -1;
L.elem=newbase;
L.listsize+=10;
}
int *q=&(L.elem[L.length]);
*q=n;
++L.length;
return 0;
}
void ListGet(SqList &L)
{
int x=L.length;
if(L.length<=0)
printf("ERROR");
return ;
while(L.length>0)
{
L.length--;
printf("%d",L.elem[L.length]);
}
L.length=x;
}
int getlength(SqList &L)
{
return L.length;
}
int main()
{
int n;
SqList sqlist;
InitList(sqlist);
while(!scanf("%d",&n))
{
ListAdd(sqlist,n);
}
printf("%d\n",getlength(sqlist));
ListGet(sqlist);
return 0;
}
嗯,看到问题就知道你是学生了。有几个问题,请看下列图片。
问题1:
问题2:
问题3:
忠告:问题已经出来了,解决方法我也有,先不告诉你。自己先尝试着解决一下吧。自己写的代码要自己负责检查。这样你才能成长的更快。
谢谢您 我明白了 感谢您的指导