C++习题 对象数组求最大值
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; }