设有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;
}