计算高考状元
高考成绩已经公布,大家正在填报志愿。设计一个学生类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 }
浙公网安备 33010602011771号