6.15 喜刷刷 1 oj 1 对象数组中的最大值

这是一篇关于C++编程的博客,主要内容是介绍如何在对象数组中找到成绩最高的学生信息。博客提出了一个问题,即在包含n个学生数据(学号和成绩)的对象数组中,如何通过编写一个名为max的函数,使用指向对象的指针作为参数,来找出成绩最高的学生并输出其学号。博客提供了时间限制和内存限制,并提到了提交、状态和讨论区的相关信息。
摘要由CSDN通过智能技术生成
主页讨论版问题名次状态统计
系统测试进行中,遇到问题,请联系:18865513850 18865550239 18865513930 18865516568

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

时间限制: 1 Sec   内存限制: 128 MB
提交: 1047   解决: 755
[ 提交][ 状态][ 讨论版]

题目描述

建立一个对象数组,内放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) {}     int get_num();     void input();     double get_score();     void display();

private:     int num;   //学号     double score;   //成绩 };

int Student::get_num() {     return num; } double Student::get_score() {     return score; } void max(Student *arr,int n) {     double max=arr[0].get_score();     int i,no;     for(i=0; i<n; ++i)     {         if(arr[i].get_score()>max)             no=i;     }     no--;     arr[no].display(); } void Student::input() {     double n,s;     cin>>n>>s;     num=n;     score=s; } void Student::display() {     cout<<num<<" "<<score<<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; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值