Description
建立一个对象数组,内放n(<10)个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出n个学生中成绩最高者,并输出其学号。
Input
n和n个学生的学号、成绩
Output
成绩最高者的学号和成绩
Sample Input
5101 78.5102 85.5103 98.5104 100.0105 95.5
Sample Output
104 100.00
#include<iostream>
#include<iomanip>
using namespace std;
class Student
{public:
void input(); int num;
double cj; }; void Student::input()
{
cin>>num>>cj;
}
void max(Student *p,int n)
{Student *a;
a=p;
int i;
for(i=0;i<n;i++)
{
if(p->cj<a->cj)
p=a;
a++;
}
cout<<p->num<<' '<<p->cj<<endl;
}
int main() { void max(Student* ,int); const int NUM=10; Student stud[NUM]; int n,i; cin>>n; for(i=0; i<n; i++) stud[i].input(); cout<<setiosflags(ios::fixed); cout<<setprecision(2); Student *p=&stud[0]; max(p,n); return 0; }