您的位置:首页 > 编程语言 > C语言/C++

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

2015-05-18 17:10 274 查看

题目描述

建立一个对象数组,内放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;

}
测试图:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: