主页 | 讨论版 | 问题 | 名次 | 状态 | 统计 |
问题 E: C++习题 对象数组求最大值
时间限制: 1 Sec 内存限制: 128 MB提交: 1048 解决: 756
[ 提交][ 状态][ 讨论版]
题目描述
建立一个对象数组,内放n(<10)个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出n个学生中成绩最高者,并输出其学号。
输入
n和n个学生的学号、成绩
输出
成绩最高者的学号和成绩
样例输入
5
101 78.5
102 85.5
103 98.5
104 100.0
105 95.5
样例输出
104 100.00
解题代码:
#include <iostream> #include <iomanip> using namespace std; class Student { public: Student(int n=0,double s=0):num(n),score(s) {} void input(); void display();
private: int num; //学号 double score; //成绩 };
void Student::input() { double n,s; cin>>n>>s; num=n; score=s; } void Student::display() { cout<<num<<" "<<score<<endl; }
int main() { 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; for(i=0; i<n; p+=2,i+=2) p->display(); return 0; }