#include <stdio.h> ///#include <malloc.h> struct student { char name[20]; int score; }; struct student *a,*b; //stu *a,*b; int n=2; int total=0; a=(struct student *)malloc(n*sizeof(stu)); void insert() { int i; if(total>=n) { b=(struct student *)malloc(n*sizeof(stu)); free(a); n=n*2; a=(struct student *)malloc(n*sizeof(stu)); for(i=0;i<n/2;i++) a[i]=b[i]; free(b); } scanf("%s%d",a[total].name,&a[total].score); total++; } void print() { int i; for(i=0;i<total;i++) printf("%s-%d\n",a[i].name,a[i].score); } int main() { char choice; while(scanf("%c",&choice)) { if(choice=='I' || choice=='i') insert(); else if(choice=='P' || choice=='p') print(); } }

评论