#include "stdio.h"
#include "malloc.h"
#include "mem.h"
struct abc
{
int a[100];
/*a[100]={0};*/
int b;
}ab;
void rubiao(int p)/*设当前数组内有n个元素,在n+1的地方写入,且ab.b加1*/
{
if(ab.b>98) printf("ru biao shi bai\n");
else
{ ab.a[ab.b++]=p;
printf("ru biao cheng gong!\n");
}
return ;
}
void charu(int q,int p)/*在指定位置q加入一个字,ab.b加1*/
{
q--;
if(ab.b>98||q<0) printf("cha ru shi bai\n");
else
{
int i,j;
j=ab.b;
for(i=q;i<99;i++,j--)
ab.a[j+1]=ab.a[j];
ab.a[q]=p;
ab.b++;
printf("cha ru cheng gong!\n");
}
return;
}
void shanchu(int q)/*在指定位置q删除一个字。*/
{
if (ab.b<1||q<0||q>ab.b)/*元素个数和要删除的位置不能为0或负,不能删除大于ab.b的位置*/
{
ab.a[ab.b]=0; /*不然就删除当前位置*/
ab.b--;
printf("shan chu le zui hou yi ge!\n");
}
else
{
int i,j;
j=q;
for(i=100-q;i--;j++)
ab.a[j]=ab.a[j+1];
ab.b--;
printf("shan chu cheng gong!\n");
}
return;
}
void bianli()
{
int i;
for(i=0;i<ab.b;i++) /*循环输出*/
printf("%d ",ab.a[i]);
}
int main()
{
printf("%#X\n",main);
memset(ab.a,0,200);/*初始化数组*/
rubiao(1);
rubiao(2);
charu(5,6);
shanchu(2);
shanchu(0);
shanchu(1);
shanchu(NULL);
ab.b=6;
bianli();
getch();
return 0;
} |