高考成绩已经公布,大家正在填报志愿。设计一个学生类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 }
来源:oschina
链接:https://my.oschina.net/u/4353951/blog/3592310