使用环境devC++ 5.11
当出现ID returned 1 exit status (ID返回1退出状态)时关闭运行结果窗口再重新运行就行,或者重启devC++。
代码如下:
#include<stdio.h>
#include<stdlib.h> //要使用的malloc()函数定义在这个头文件中 ,动态分配内存
#include<process.h> //系统库文件,
#define MAX 100
typedef struct Seq
{
int elem[100];
int length;
} RSeq;
RSeq init()
{
RSeq *R1; //结构体指针
R1=(struct Seq *)malloc(sizeof(struct Seq));//为顺序表分配内存
R1->length=0;
for(int i=0;i<10;i++){ //初始化数组为0,1,2,3,4,5,6,7,8,9
R1->elem[i]=i;
R1->length++;
}
return(*R1);//返回结构体
}
void display(RSeq Rll)
{
int LL=Rll.length;
for(int i=0;i<LL;i++)
{
printf("%4d",Rll.elem[i]);
Rll.length++;
}
}
void insert(RSeq *L,int k,int x) //在第n个元素后插入元素x
{
if(k<0||k>L->length){
printf("输入的k不合法!");
return; //返回函数继续执行程序
}
for(int i=L->length-1;i>=k;i--){
L->elem[i+1]=L->elem[i]; //元素后移动一位
L->length++;
} L->elem[k]=x;
}
//以下代码无法实现,正在
/* void addinsert(RSeq *L,int k,int n,int x)
{
if(k<0||k>L->length){
printf("输入的k不合法!");
return;//返回函数继续执行程序
}
for(int z=0;z<=n;z++){
for(int i=L->length-1;i>=k;i--){
L->elem[i+1]=L->elem[i]; //元素后移动一位
L->elem[k]=x;
L->length++;
}
}
}
*/
int main(){
RSeq A;//定义顺序表
A=init();
insert(&A,3,100);
//addinsert(&A,3,5,200);
display(A);
system("pause");
}
结果:
|