计算高考状元

主宰稳场 提交于 2021-01-13 11:28:34

高考成绩已经公布,大家正在填报志愿。设计一个学生类student,四门学科成绩是其私有成员,分别是语文、数学、英语、综合。有个计算高考状元的函数是其友元函数,其形式是 student top(const student *p, int count) 。

以上类名和友元函数的形式,均须按照题目要求,不得修改。

输入是姓名 和 四科成绩,以0结束。 (不超过100个学生) 输出是状元的总分。

输入样例:

Alice 105 107 107 230

Bob 112 120 120 250

0

输出样例:

602

 

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 class student{
 5     char name[10];
 6     double yu;
 7     double shu;
 8     double eng;
 9     double zong;
10     double sum=0;
11     public:
12         student()
13         {
14             yu=0;shu=0;eng=0;zong=0;
15         };
16         void set(char a[],double b,double c,double d,double e)
17         {
18             strcpy(name,a);
19             yu=b;
20             shu=c;
21             eng=d;
22             zong=e;
23         }
24         friend double top(const student *p,int count);
25 };
26 
27 double top (const student *p,int count)
28 {
29     double ans=0;
30     double sum;
31     for(int i=0;i<count;i++){ 
32     sum=0;
33     sum=p[i].yu+p[i].shu+p[i].eng+p[i].zong;
34     if(ans<sum)
35     ans=sum;
36     }
37     return ans;
38 }
39 
40 int  main()
41 {
42     student St[105];
43     char a[10];
44     int i=0;
45     double b,c,d,e,ans;
46     while(scanf("%s",a)&&*a!='0')
47     {
48         cin>>b>>c>>d>>e;
49         St[i++].set(a,b,c,d,e);
50     }
51     ans=top(St,i);
52     cout<<ans;
53     return 0;
54 }

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!