t b; }; typedef struct { int last; student data[100]; }sqlist; int INSERT(sqlist*i,int num,char name[],int a,float b,int n) { int j; if(((*i).last)>=100) { printf("overflow"); return NULL; } else if((n<1)||(n>((*i).last)+2)) { printf("error"); return NULL; } else { for(j=((*i).last-1);j>=n-1;j--) { i->data[j+1]=i->data[j]; } (*i).data[n-1].num=num; strcpy(((*i).data[n-1]).name,name); i->data[n-1].a=a; i->data[n-1].b=b; (*i).last++; return 1; }} void DELETE(sqlist*p,int i) { int j; if(i>p->last||i<0) {printf("it's error!\n"); } for(j=i;j<=p->last;j++) { p->data[j-1]=p->data[j]; } p->last--; } void OUT(sqlist*i) { int j; for(j=0;j<(*i).last;j++) { printf("%d %s %d %f\n",i->data[j].num,i->data[j].name,i->data[j].a,i->data[j].b); }} void main() { sqlist*l,*p; l=(sqlist*)malloc(sizeof(sqlist));