struct student *findmax(int n,struct student *b){
b = b - n;//使指针移回首部,方便遍历int i=0;struct student *max = b;for(i=0;i<n;i++){
if(b->score > max->score){
max = b;}
b++;}return max;}
找最小值函数;
struct student *findmin(int n,struct student *b){
b = b - n;//使指针移回首部,方便遍历int i =0;struct student *min = b;for(i=0;i<n;i++){
if(b->score < min->score){
min = b;}
b++;}return min;}
计算平均值函数;
floatavarage(int n,struct student *b){
float average =0;
b = b - n;//使指针移回首部,方便遍历int i=0;for(i=0;i<n;i++){
average = average + b->score;
b++;}return average/n;}
主函数;
intmain(){
int n =0;int i =0;float average =0;printf("请输入班级学生数:");scanf("%d",&n);struct student *max;struct student *min;struct student *b=initclass(n);
max=findmax(n,b);printf("成绩最好的学生名叫%s成绩为:%d\n",max->name,max->score);
min=findmin(n,b);printf("成绩最差的学生名叫%s成绩为:%d\n",min->name,min->score);printf("所有学生的平均成绩为:%f\n",avarage(n,b));system("pause");return0;}