仲宇航

课堂补怱

#include<stdio.h>
struct STD{
    int num;
    char name[20];
    float score[3];    
    float aver;
}; 
main()
{
    void input(struct STD stu[]);
    void zaver(struct STD stu[]);
     void aver(struct STD stu[]);
     void max( struct STD stu[]);
    struct STD stu[5];
    struct STD *p;
    p=stu;
    
    input(p);
    zaver(p);
    aver(p);
    max(p);
    
}
void input(struct STD stu[])
{
    int i;
    for(i=0;i<5;i++)
    {
        scanf("%d %s %f %f %f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
    }
}
void zaver(struct STD stu[])
{
    int j; float hh;
    printf("三科分别平均成绩为:\n"); 
    for(j=0;j<3;j++)
    {
        
        hh=(stu[0].score[j]+stu[1].score[j]+stu[2].score[j]+stu[3].score[j]+stu[4].score[j])/5;
        printf("%f\n",hh);
    }
    
}
 void aver(struct STD stu[])
{
    printf("1-5学生平均成绩为:\n");
    int j;
    for(j=0;j<5;j++)
    {
        stu[j].aver=(stu[j].score[0]+stu[j].score[1]+stu[j].score[2])/3;
    
    
    printf("%f\n",stu[j].aver);}
    
    
}
void max( struct STD stu[])
{
    int i,m=0;
    for(i=0;i<5;i++)
    
    
    if(stu[i].aver>stu[m].aver)
    m=i ;
     

printf("学号为%d 姓名为%s 成绩为%f %f %f ",stu[m].num,stu[m].name,stu[m].score[0],stu[m].score[1],stu[m].score[2]);
}

 

posted on 2017-04-11 09:51  长心人  阅读(148)  评论(0编辑  收藏  举报

导航