结构体!学生成绩管理!

来源:互联网 发布:淘宝美白面膜排行榜 编辑:程序博客网 时间:2024/05/01 10:32
Description

有N个学生,每个学生的数据包括学号、班级、姓名、三门课成绩。从键盘输入N 个
学生数据,要求打印出每个学生三门课的平均成绩,以及平均分最高分学生数据(包括学号、
班级、姓名、三门课成绩,平均分)。
要求:
1、 定义学生结构体。
2、 用一个函数实现N 个学生数据的输入,用另一个函数负责求每个学生三门课程的平
均成绩,再用一个函数求出平均分最高的学生并输出该学生的数据。要求平均分和平均分最
高的学生数据都在主函数中输出。

Input

第一行:N,表示N 个学生

下面N 行:每行数据包括学号、班级、姓名、三门课成绩。

Output

输出每个学生三门课的平均成绩,以及平均分最高分学生数据(包括学号、班级、姓名、
三门课成绩,平均分)。
格式见下。(四舍五入保留一位小数)

Sample Input

420070008 software1 wangjun 87 84 7620070001 science1 lanxin 90 84 8320070007 software2 wuke 94 87 8620070003 science4 xuede 90 86 87

Sample Output

wangjun 82.3lanxin 85.7wuke 89.0xuede 87.720070007 software2 wuke 94.0 87.0 86.0 89.0

 

#include<iostream>
using namespace std;
struct person
{
   char  name[200];
 char benji[200];
 char num[200];
 float score[10];
 float count;
}per[200];
int main()
{
  
     int i,j,max,max_i,sum,n;
  cin>>n;
  for(i=0;i<n;i++)
   {
   cin>>per[i].num>>per[i].benji>>per[i].name;
       for(j=0;j<3;j++)
    {
     cin>>per[i].score[j];
    }
   }
   max=0;
   max_i=0;
     for(i=0;i<n;i++)
   {
    sum=0;
  for(j=0;j<3;j++)
   sum+=per[i].score[j];
  per[i].count=sum/3.0;
  if(sum>max)
  {
   max=sum;
   max_i=i;
  }
      }
   cout.setf(ios::fixed);
       cout.precision(1);
  for(i=0;i<n;i++)
   cout<<per[i].name<<""<<per[i].count<<endl;
  cout<<per[max_i].num<<""<<per[max_i].benji<<""<<per[max_i].name<<"";
  for(j=0;j<3;j++)
   cout<<per[max_i].score[j]<<"";
   cout<<per[max_i].count<<endl;


}

0 0