/*************************************************************************
> File Name: b2.h
> Author: Palmer XU
> Mail:
> Created Time: Sat 29 Mar 2014 10:09:46 PM EDT
************************************************************************/
#ifndef __B2_H__
#define __B2_H__
#include<stdio.h>
typedef struct student
{
int num;
int score[4];
}stud_t,*pstud_t;
double ava_stud(pstud_t);
void ava_class(pstud_t,unsigned int);
void find_stud(pstud_t,unsigned int);
#endif
/*************************************************************************
> File Name: b2_fun.c
> Author: Palmer XU
> Mail:
> Created Time: Sat 29 Mar 2014 10:17:17 PM EDT
************************************************************************/
#include"b2.h"
double ava_stud(pstud_t stud)
{
int i = 0;
double sum = 0;
for(; i < 4;i++)
sum += stud->score[i];
return sum/4;
}
void ava_class(pstud_t stud,unsigned int n)
{
int i,j;
double sum;
for(i = 0;i < 4;i++)
{
for(j = 0;j < n;j++)
{
sum += stud[j].score[i];
}
printf("the avarage of class %d is %.1lf\n",i+1,sum / n);
}
return;
}
void find_stud(pstud_t stud,unsigned int n)
{
int i,j,max,max_i = 0,max_j = 0;
max = stud[0].score[0];
for(i = 0;i < n;i++)
{
for(j = 0;j < 4;j++)
if(max < stud[i].score[j])
{
max = stud[i].score[j];
max_i = i;
max_j = j;
}
}
printf("the highest score is stud %d,class %d.\n",stud[max_i].num,max_j+1);
return;
}
/*************************************************************************
> File Name: b2.c
> Author: Palmer XU
> Mail:
> Created Time: Sat 29 Mar 2014 10:33:29 PM EDT
************************************************************************/
#include"b2.h"
int main(void)
{
stud_t stud[3];
int i,j;
for(i = 0;i < 3;i++)
{
printf("input stud's num:");
scanf("%d",&stud[i].num);
printf("input three score:");
for(j = 0;j < 4;j++)
{
scanf("%d",&stud[i].score[j]);
}
}
for(i = 0;i < 3;i++)
{
printf("the %d 's ava score is %.1lf.\n",i+1,ava_stud(&stud[i]));
}
ava_class(stud,3);
find_stud(stud,3);
return 0;
}