楼主你好!根据你的要求,我已经实现了!如果有什么不正确的地方,请指正!谢谢!希望我的回答对你有帮助!#include#include#definepeople3//学生人数,可以根据具体情况更改#definesize6//学号的位数,这里假设是5位,最后一位用于'\0'structstudent{charnumber[size];intscore;};//用于输入学生学号及分数,并判断数据是否合法voidinput(structstudenta[]){inti,k;for(i=0;i'9'){printf("输入学号中含有非法字符或超过学号长度!\n");gotoA;}elseif(strlen(a[i].number)>(size-1)){printf("输入学号超过长度!\n");gotoA;}k++;}B:printf("请输入该同学的成绩:\n");fflush(stdin);scanf("%d",&a[i].score);if(a[i].score>=0&&a[i].score<=100)continue;printf("输入的成绩不合法:\n");gotoB;}}//用于求平均分floataverage(structstudenta[],intn){intsum=0;for(inti=0;imean)printf("%s%d\n",a[i].number,a[i].score);}return0;}