#includetypedef struct Node{ int a,b;}node;node c[100];int n;void print(){ int i; printf("\n当前数据:\n"); for(i=1;i<=n;i++) { printf("第%d组:a=%d,b=%d\n",i,c[i].a,c[i].b); } printf("\n\n");}//输出void setnum(){ int i; printf("输入n,表示共有n组数据:\n"); scanf("%d",&n); for(i=1;i<=n;i++) { printf("输入第%d组数据的两个值a、b,用空格隔开:\n",i); scanf("%d%d",&c[i].a,&c[i].b); }}//设置数据void remove(){ int i,j; printf("输入i,表示要删除第i数据:\n"); scanf("%d",&i); for(j=i;j<=n-1;j++) { c[j]=c[j+1]; }//循环覆盖,让后一个覆盖前一个,所以j最大值取n-1 n--;//结构体中的元素减少1个}//删除数据void chang(){ int i,aa,bb; printf("输入i,a,b,表示要将第i组数据修改成a、b:\n"); scanf("%d%d%d",&i,&aa,&bb); c[i].a=aa; c[i].b=bb;//直接赋值修改}//修改数据main(){ int m; while(1) { printf("输入:1-输入数据,2-修改数据,3-删除数据\n 4-输出数据,0-退出\n"); scanf("%d",&m); if(m==0) break; else if(m==1) setnum(); else if(m==2) chang(); else if(m==3) remove(); else if(m==4) print(); }}