飛飛(三十二)指向学生的指针(改进型)

来源:互联网 发布:tplink网络交换机 编辑:程序博客网 时间:2024/05/17 22:11
/**Copyright (c) 2016,烟台大学计算机学院*All rights reserved.*文件名称:test.cpp*作    者:李飞*完成日期:2016年 5月 6日*版 本 号:1.0**问题描述:指向学生的指针(改进型)*输入描述:当存在相同成绩时*程序输出:输出1,3,5学生的信息,并输出成绩最高的学号*/#include <iostream>#include<cmath>using namespace std;class Student{public:      Student(int n,double s):num(n),score(s){}      void display();      int  getNum()      {            return num;      }      double getScore()      {            return score;      }      private:            int num;            double score;};void Student::display(){      cout<<num<<" "<<score<<endl;}double max(Student *arr);int main(){    Student stud[5]=    {          Student(101,78.5),Student(102,85.5),Student(103,100),          Student(104,98.5),Student(105,100),    };    for(int i=0;i<5;i+=2)    {          cout<<"学生"<<i+1<<":";          stud[i].display();    }    double max_score=max(stud);    cout<<"成绩最高的为:";    for(int i=0;i<5;i++)    {          if(abs(stud[i].getScore()-max_score)<1e-7)            cout<<stud[i].getNum()<<"  ";    }    cout<<endl;    return 0;}double max(Student *arr){      double max_score=arr[0].getScore();      for(int i=0;i<5;i++)      {            if(arr[i].getScore()>max_score)            {                  max_score=arr[i].getScore();            }      }      return max_score;}
<img src="http://img.blog.csdn.net/20160507104530599?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

0 0