C++习题 对象数组求最大值

来源:互联网 发布:淘宝的折800不计销量吗 编辑:程序博客网 时间:2024/05/17 04:29

题目描述

建立一个对象数组,内放n(<10)个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出n个学生中成绩最高者,并输出其学号。

输入

n和n个学生的学号、成绩

输出

成绩最高者的学号和成绩

#include<iostream>#include<iomanip>using namespace std;class Student{    int num;    double grade;public:    Student()    {        num=0;        grade=0;    };    Student stu(Student p)    {        num=p.num;        grade=p.grade;    };    int getnum();    double getgrade();    void input();    void display();};int  Student::getnum(){    return num;}double Student::getgrade(){    return grade;}void Student::display(){    cout<<num<<" "<<grade<<endl;}void Student::input(){    cin>>num>>grade;}void max(Student *p,int n){    Student stu(*p);    for(int i=0; i<n; ++i)        if(stu.getgrade()<p[i].getgrade())            stu=p[i];    cout<<stu.getnum()<<" "<<stu.getgrade();}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;}
测试图:




0 0
原创粉丝点击