这个程序应该怎么编?

设有4个学生的:门课程的成绩,设计一函数fav完成计算每个学生的平均成绩(要求:主函数提供数据并输出)。

一个实现,供参考:


#include <stdio.h>  //提供printf函数原型 
#include <stdlib.h>  //提供malloc函数原型 
struct stu{  //学生信息结构
    float chinese;
    float math;
    float english; 
};

float * fav(struct stu * scores,int n){
    
    float * avg = (float *)malloc(sizeof(float)*n); //给存储n个学生平均成绩分配内存,让avg指针指向这块内存 
    
    int i;
    for(i=0;i<n;i++){  //计算n个学生的平均成绩 
        avg[i]=(float)((scores[i].chinese+scores[i].math+scores[i].english)/3);
    }
    
    return avg;  //返回指向n个学生平均成绩的float指针 
} 

int main(void){
    
    struct stu s[4]={{50,60,70},{70,80,90},{90,100,80},{50,70,90}};  //初始化4个学生3门成绩的结构数组 
    
    float * avg = fav(s,4);  //调用fav函数计算这4个学生的平均成绩 
    
    //打印平局成绩 
    int i=0;
    while(i<4){
        printf("第%d个学生的平均成绩是:%.2f.\n",i+1,avg[i]);
        i++;
    }
    
    return 0;
}

img