一道C语言题(关于数组运用的)

来源:百度知道 编辑:UC知道 时间:2024/06/03 18:56:13
设一个班有5个学生,每个学生有学号,以及数学,物理,英语,语文,体育5门课的成绩信息。分别编写3个函数以及实现一下3个要求:
(1) 求数学的平均成绩。
(2) 对于有两门以上课程不及格的学生,输出他们的学号,各门课成绩及平均成绩。
(3) 输出成绩优良的学生(平均成绩在85分以上或全部成绩都在80分以上)的学号,各门课成绩和平均成绩。

struct student
{
int number;
int math,physics,english,language,sports;
float avg;
}classx[5];

float fun1(struct student x[])
{
float avg,sum=0;
int i;
for(i=0;i<5;i++)
sum+=x[i].math;
avg=sum/5;
return avg;
}

void fun2(struct student x[])
{
int i,flag=0;
float avg,sum=0;
printf("两门以上课程不及格的学生为:\n");
for(i=0;i<5;i++)
{
sum=x[i].math+x[i].physics+x[i].english+x[i].language+x[i].sports;
avg=sum/5;
x[i].avg=avg;
if(x[i].math<60) flag++;
if(x[i].physics<60) flag++;
if(x[i].english<60) flag++;
if(x[i].language<60) flag++;
if(x[i].sports<60) flag++;
if(flag>=2)
printf("%d:%d,%d,%d,%d,%d,%f\n",x[i].number,x[i].math,x[i].physics,x[i].english,x[i].language,x[i].sports,avg);
flag=0;
}
}

void fun3(struct student x[]