有n个结构变量,内含学生学号,姓名和3门课程的成绩。要求输出平均成绩的学生的信息

#include<stdio.h>
# define  N 3
struct  Student
{int    num;
 char   name[20];
 float  score[3];
 float  aver;
};
int  main()
{  void  input(struct  Student stu[]);
   struct  Student  max(struct  Student  stu[]);
   void  print(struct  Student  stu);
   struct  Student stu[N] , *p=stu;
   input(p);
   print(max(p));
   return 0;
}
void  input(struct  Student  stu[])
{  int  i;
   printf("请输入各学生的信息:学号,姓名,三门课成绩:\n");
   for(i=0;i<N;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]);
   stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;
   }
}
struct  Student  max(struct  Student  stu[])
{  int i,m=0;
  for(i=0;i<N;i++)
  if(stu[i].aver>stu[m].aver)
  m=i;
  return  stu[m];
}
void  print(struct  Student  stud)
{ printf("\n成绩最高的学生是:\n");
printf("学号:%d姓名:%s\n三门课成绩:%5.1f,%5.1f,%5.1f\n平均成绩:%6.2f\n",stud.num,stud.name,stud.score[0],stud.score[1],stud.score[2],stud.aver);
 } 

请输入各学生的信息:学号,姓名,三门课成绩:
1001 张三 70 80 90
1002 李明 50 65 70

1003 李四 97 84 65

成绩最高的学生是:
学号:1003姓名:李四
三门课成绩: 97.0, 84.0, 65.0
平均成绩: 82.00

--------------------------------
Process exited after 77.83 seconds with return value 0
请按任意键继续. . .

posted @ 2017-04-09 16:40  醉疯染梦  阅读(2756)  评论(0编辑  收藏  举报