Description
建立一个对象数组,内放n(<10)个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出n个学生中成绩最高者,并输出其学号。
Input
n和n个学生的学号、成绩
Output
成绩最高者的学号和成绩
Sample Input
5
101 78.5
102 85.5
103 98.5
104 100.0
105 95.5
Sample Output
104 100.00#include <iostream> #include <iomanip> using namespace std; class Student { public: void input(); int xue; double score; }; void Student::input() { cin>>xue>>score; } void max(Student *p,int n) { int i,m; double max=(*p).score; for(i=0;i<n;i++) { if((*(p+i)).score>max) { max=(*(p+i)).score; m=i; } } cout<<(*(p+m)).xue<<' '<<max<<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; }