看他人编的程序时的疑问!该怎么处理

看他人编的程序时的疑问!
一个班级有五个学生,共学习4门课.要求编写程序完成下面3个功能
(1)求出第三门功课的平均分
(2)找出有两门以上功课不及格的学生,输出他们的学号和全部课程成绩及平均分
(3)找出平均成绩在85分以上或者全部课程成绩在80分以上的学生
提示:可以用二维数组组成结构体数组实现之
struct   student
{float   score1;
  float   score2;
  float   score3;
  float   score4;
}str[5]

程序如下:
仅供参考

fun1()   {
        float   sum   =   0;
        for   (int   i=0;   i <5;   i++)   {
                sum   +=   str[i].score3;
        }
     
        printf( "第三门功课平均分:%f ",   sum/5);
}

fun2()   {
        float   sum   =   0;
        int   count   =   0;
        for   (int   i=0;   i <5;   i++)   {
                sum   =   str[i].score1   +   str[i].score2   +   str[i].score3   +   str[i].score4;
                count   =   0;
                count   +=   ((str[i].score1 <60)   ?   1   :   0);  
                count   +=   ((str[i].score2 <60)   ?   1   :   0);  
                count   +=   ((str[i].score3 <60)   ?   1   :   0);  
                count   +=   ((str[i].score4 <60)   ?   1   :   0);  
                if   (count   >   1)   {
                        printf( "不及格   学号:%d,   成绩:%f,%f,%f,%f,   平均分: ",   i,   str[i].score1,   str[i].score2,   str[i].score3,   str[i].score4,   sum/4);
                }
        }

}

fun3()   {
        float   sum   =   0;
        int   count   =   0;
        for   (int   i=0;   i <5;   i++)   {
                sum   =   str[i].score1   +   str[i].score2   +   str[i].score3   +   str[i].score4;
                count   =   0;
                count   +=   ((str[i].score1> =80)   ?   1   :   0);  
                count   +=   ((str[i].score2> =80)   ?   1   :   0);  
                count   +=   ((str[i].score3> =80)   ?   1   :   0);  
                count   +=   ((str[i].score4> =60)   ?   1   :   0);  
                if   (sum/4> =85   ||   count==4)   {
                        printf( "平均成绩在85分以上或者全部课程成绩在80分以上的学生   学号:%d ",   i);