实验12:Problem I: 成绩排序
| Home | Web Board | ProblemSet | Standing | Status | Statistics |
Problem I: 成绩排序
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 490 Solved: 403
[Submit][Status][Web Board]
Description
定义Student类:
1. 数据成员string name和int score表示一个学生的姓名、成绩。
2. 无参构造函数。
3. void setStudent(string,int)方法,用于设置一个学生的属性值。
4. 重载>(大于运算符)。Student类的对象A和B的大小关系,A>B定义为A.score>B.score,或者A.score=B.score但A.name<B.name。
5.重载运算符<<用于输出学生信息:先输出成绩再输出姓名,中间用一个空格隔开。
Input
分多行。第一个M>0表示有M个学生信息。
之后有M行,每一行是一个学生信息。第一部分是学生姓名,第二部分是学生成绩。
Output
输出为M行,按照从大到小的顺序依次输出每个学生的成绩、姓名。假定不存在重名的学生。
Sample Input
Tom 98
Jack 97
Mary 98
Sherry 99
Dock 97
Sample Output
98 Mary
98 Tom
97 Dock
97 Jack
HINT
string类有个方法:int compare(const string &s) const;用于比较当前字符串和s的大小,其原理等同于C语言的库函数strcmp。
Append Code
-->
한국어<中文فارسیEnglishไทยAll Copyright Reserved 2010-2011SDUSTOJTEAMGPL2.02003-2011HUSTOJ ProjectTEAM
Anything about the Problems, Please Contact Admin:admin
#include<iostream>
#include<cstring>
#include<string>
#define null ""
using namespace std;
class Student{
public:
string name;
int score;
Student(string n=null,int s=):name(n),score(s){}
void setStudent(string n,int s)
{
name=n;
score=s;
}
int operator>(Student &s)
{
if(score>s.score)
return ;
else if(score==s.score&&name<s.name)
return ;
else
return ;
} friend ostream &operator<<(ostream &os,Student &s);
};
ostream &operator<<(ostream &os,Student &s)
{
os<<s.score<<" "<<s.name;
return os;
}
int main()
{
int cases;
string name;
int score;
cin>>cases;
Student students[cases], temp;
for (int i = ; i < cases; i++)
{
cin>>name>>score;
students[i].setStudent(name, score);
}
for (int i = ; i < cases; i++)
{
for (int j = ; j < cases - i - ; j++)
{
if (!(students[j] > students[j + ]))
{
temp = students[j];
students[j] = students[j + ];
students[j + ] = temp;
}
}
}
for (int i = ; i < cases; i++)
cout<<students[i]<<endl;
return ;
}
实验12:Problem I: 成绩排序的更多相关文章
- 九度OJ 1196:成绩排序 (排序)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4339 解决:1476 题目描述: 用一维数组存储学号和成绩,然后,按成绩排序输出. 输入: 输入第一行包括一个整数N(1<=N< ...
- 【九度OJ】题目1061:成绩排序 解题报告
[九度OJ]题目1061:成绩排序 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1061 题目描述: 有N个学 ...
- 【九度OJ】题目1196:成绩排序 解题报告
[九度OJ]题目1196:成绩排序 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1196 题目描述: 用一维数组存储学号和成绩,然后 ...
- 2021.12.09 [HEOI2016/TJOI2016]排序(线段树+二分,把一个序列转换为01串)
2021.12.09 [HEOI2016/TJOI2016]排序(线段树+二分,把一个序列转换为01串) https://www.luogu.com.cn/problem/P2824 题意: 在 20 ...
- 03:成绩排序 个人博客:doubleq.win
个人博客:doubleq.win 03:成绩排序 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出 ...
- Problem O: 国家排序
Problem O: 国家排序 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 405 Solved: 253[Submit][Status][Web ...
- 九度oj 题目1196:成绩排序
题目1196:成绩排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5192 解决:1792 题目描述: 用一维数组存储学号和成绩,然后,按成绩排序输出. 输入: 输入第一行包括一个整数 ...
- 九度oj 题目1061:成绩排序
题目1061:成绩排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:24473 解决:6960 题目描述: 有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母序排 ...
- 【Java例题】7.4 文件题1-学生成绩排序
4.学生成绩排序.已有一个学生成绩文件,含有多位学生的成绩:读取这个文件中的每位学生的成绩,然后排序:最后将这些排好序的成绩写到另一个文件中. package chapter7; import jav ...
随机推荐
- Using HiveServer2 - Authentication
To configure Hive for use with HiveServer2, include the following configuration properties in the .. ...
- Sql Server 系统表功能
SELECT Name FROM Master..SysDatabases ORDER BY Name
- ruby -- 进阶学习(七)strong parameters之permitted.has_key
简单例子: params = ActionController::Parameters.new(user: { name: 'Francesco', age: 22, role: 'admin' }) ...
- 编辑器之神VIM 总结(一) 基础部分
版本号 说明 作者 日期 1.0 vim基础知识 Sky Wang 2013/06/19 概要 vim和emacs,一个是编辑器之神,一个是神一样的编辑器.他们被称是UNIX系统下的 ...
- [Design Patterns] 3. Software Pattern Overview
When you're on the way which is unknown and dangerous, just follow your mind and steer the boat. 软件模 ...
- 创意欣赏:20幅字体排版(Typography)素描
通常我们都只关注最终的作品,但其实幕后还有很多的过程,其中一个是素描.素描用来表达最初思想观念的原型.有时客户需要一个独特的品牌新LOGO或字体,这时先绘制在纸上是比较方便的,之后扫描到 Photos ...
- [git]查看某一行代码是谁写的
git blame filename,'blame'意思为责怪!哈哈哈. 就会列出来每行的修改纪录.你可以通过行数或者代码来查看,是谁的锅!
- 开放产品开发(OPD):产品负责人的工作原则和方法
月26日我将在2014 WOT全球软件技术峰会做相关的一个主题演讲[产品负责人的工作原则和方法],个原则和相应的一些方法. 以下是本次分享内容: 完整版如下,如果你喜欢想下载的话,点击 http:// ...
- MvvmLight框架使用入门(一)
MvvmLight是比较流行的MVVM框架,相对较为简单易用.可能正因为简单,对应的帮助文档不多,对初学者就不够友好了.这里会用几篇随笔,就个人对MvvmLight的使用经验,来做一个入门的介绍. 第 ...
- 第一个sprint心得及感想
经过两个星期的努力,第一个周期的任务终于完成,通过这次团队协作,学到了很多东西,首先是把任务细分化,把大的任务分为每天完成,然后团队个人都有自己的任务份额,这样子就不会全压在一个人身上.还有就是学会了 ...