Skip to content

11638: 【原1638】歌手大赛

题目

题目描述

author: Online Judge 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/1638

Description

青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出从小到大排序后的分数以及选手的得分。

分数为有理数。请大家编写一个有理数类,重载>>,<<,+,<四个操作符,同时定义构造函数。

要求有理数类里面有两个成员变量,分别是分子和分母。如果输入的分子分母有公约数,要进行处理。如2/4应该写成1/2;30/40应该写成3/4。

请大家务必定义一个类并重载四个操作符,利用重载的操作符完成编程。我们会随机抽查30位同学检查,如果没有使用的话不计分数哦。

成员函数/友元需要包括下面的函数:

friend istream& operator>>(istream &in, Rational& obj);
friend ostream& operator<<(ostream &os,const Rational& obj);
friend Rational operator+(const Rational &r1, const Rational& obj);
friend bool operator<(const Rational &r1,const Rational &r2);
Rational(int n, int d);

输入第一行是有几个分数。后面列出每个分数的分子和分母。

Sample Input 1

4
1 5
2 5
3 5
4 3

Sample Output 1

The sorted score is 1/5 2/5 3/5 4/3;
The final score is 1/1;

Oops! 本题目还没有解答!

助教老师们编题的速度,已经超过了解题的速度!

OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。

如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!