#include<stdio.h>
#define MaxSize 10
/*以下*len代表数组大小
i代表要第几个数字(要执行插入的数字)
x代表插入的数字*/
void insertElem(int Sqlist[],int *len,int i,int x)
{
int t;
if(*len==MaxSize||i<1||i>*len+1)
{
printf("err");
return;
}
for(t=*len-1;t>=i-1;t--)/*这个for循环将Sqlist列表中的值赋值为下一个值*/
{
Sqlist[t+1]=Sqlist[t];
}
Sqlist[i-1]=x; /*将插入的值赋给所处位置*/
*len=*len+1;/*设置*len 也就是数组大小加一*/
}
/*len代表数组大小
i代表要删除的位数*/
void delElem(int Sqlist[],int *len,int i)
{
int a;
if(i<1||i>*len)
{
printf("err");
return;
}
for(a=i;a<=*len;a++)
{
Sqlist[a-1]=Sqlist[a];/*将上一个值赋给现在这个值*/
}
*len=*len-1;/*设置数组大小减一*/
}
main()
{
int Sqlist[MaxSize];
int len;
int i;
printf("input 6 number\n");
for(i=0;i<6;i++)
{
scanf("%d",&Sqlist[i]);
}
len=6;
for(i=0;i<6;i++)/*这个循环输出刚刚输入的数组*/
{
printf("%d",Sqlist[i]);
}
printf("\n剩余空间%d\n",MaxSize-len);
insertElem(Sqlist,&len,3,0);/*插入0到第三个位置*/
for(i=0;i<6;i++)/*循环输出插入后的数组的前6个数字*/
printf("%d",Sqlist[i]);
printf("\n剩余空间%d\n",MaxSize-len);
delElem(Sqlist,&len,2);/*删除第二个位置的数字*/
for(i=0;i<6;i++)/*循环输出删除第二个位置后的6个数字*/
printf("%d",Sqlist[i]);
printf("\n剩余空间%d",MaxSize-len);
}
/*默认输入 1 2 3 4 5 6 这6个数字 */
输出为:
123456
空余空间4
120345
空余空间3
103456
空余空间4