题目描述
学生类定义如下:
class Student {
private:
int id;//学号
int score; //成绩
static int maxscore;//最高分数
static int maxid;//最高分数学生学号
public:
Student(int ti=0,int ts=0):id(ti), score(ts){}
static void findMax(Student & st); //寻找最高成绩和学号
static int getMaxScore(); //返回最高成绩
static int getMaxID();//返回最高成绩的学号
};
输入一组学生学号和成绩,用上述静态成员求最高成绩和对应学号
输入
第一行输入n表示有n个学生
接着输入n行,每行包括两个数据,表示学号和成绩
输出
调用静态成员函数输出学号和最高成绩,格式看样例
输入样例1
3
1002 68
1023 54
1045 32
输出样例1
1002--68
代码:
#include <iostream>
#include <cstring>
using namespace std;
class Student {
private:
int id;//学号
int score; //成绩
static int maxscore;//最高分数
static int maxid;//最高分数学生学号
public:
Student(int ti = 0,int ts = 0) : id(ti), score(ts) {}
static void findMax(Student & st); //寻找最高成绩和学号
static int getMaxScore(); //返回最高成绩
static int getMaxID();//返回最高成绩的学号
};
int Student :: maxscore = 0;
int Student :: maxid = 0;
void Student :: findMax(Student &st)
{
if(st.score > maxscore)
{
maxscore = st.score;
maxid = st.id;
}
}
int Student :: getMaxScore() {return maxscore;}
int Student :: getMaxID() {return maxid;}
int main()
{
int t;
cin >> t;
while(t --)
{
int id, score;
cin >> id >> score;
Student a(id,score);
Student :: findMax(a);
}
cout << Student :: getMaxID() << "--" << Student :: getMaxScore() << endl;
return 0;
}
这篇文章也不知道啥时候写的,顺便发了吧。