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;

}



posted @ 2014-03-31 14:30  IT专业户  阅读(576)  评论(0编辑  收藏  举报