PTA:7-63 计算高考状元
高考成绩已经公布,大家正在填报志愿。设计一个学生类student,四门学科成绩是其私有成员,分别是语文、数学、英语、综合。有个计算高考状元的函数是其友元函数,其形式是 student top(const student *p, int count) 。
以上类名和友元函数的形式,均须按照题目要求,不得修改。
输入是姓名 和 四科成绩,以0结束。 (不超过100个学生) 输出是状元的总分。
输入样例:
Alice 105 107 107 230
Bob 112 120 120 250
0
输出样例:
602
#include<iostream>
#include<cstring>
using namespace std;
class student
{
private:
int chinese;
int math;
int english;
int mix;
public:
student()
{
;
}
void input(int c,int m,int e,int mi)
{
chinese=c;
math=m;
english=e;
mix=mi;
}
int sum()const
{
return chinese+math+english+mix;
}
friend student top(const student *p,int count);
};
student top (const student *p,int count)
{
int max=0,s;
for(int i=0;i<count;i++)
{
s=p[i].sum();
max=max>s?max:s;
}
cout<<max<<endl;
return *p;
}
int main()
{
char name[10];
int a,b,c,d;
student p[100];
int i=0;
while(1)
{
cin>>name;
if(strcmp(name,"0")==0)
break;
cin>>a>>b>>c>>d;
p[i++].input(a,b,c,d);
getchar();
}
top (p,i);
}