1196.成绩排序

题目描述:

用一维数组存储学号和成绩,然后,按成绩排序输出。

输入:

输入第一行包括一个整数N(1<=N<=100),代表学生的个数。

接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩。

输出:

按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来。

如果学生的成绩相同,则按照学号的大小进行从小到大排序。

样例输入:
3
1 90
2 87
3 92
样例输出:
2 87
1 90
3 92
#include<iostream>
#include<algorithm>
using namespace std;

struct student{
    int id;
    int score;
};

bool cmp(student a,student b){
    if(a.score!=b.score) return a.score<b.score;
    else return a.id<b.id;
}

student s[100];

int main(){
    int n,i;
    while(cin>>n)
    {
        for(i=0;i<n;i++){
            cin>>s[i].id>>s[i].score;
        }
        sort(s,s+n,cmp);
        for(i=0;i<n;i++){
            cout<<s[i].id<<" "<<s[i].score<<endl;
        }
    }
    return 0;
} 

原文地址:https://www.cnblogs.com/bernieloveslife/p/9735232.html

时间: 2024-10-10 04:10:42

1196.成绩排序的相关文章

题目1196:成绩排序

题目描述: 用一维数组存储学号和成绩,然后,按成绩排序输出. 输入: 输入第一行包括一个整数N(1<=N<=100),代表学生的个数. 接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩. 输出: 按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来. 如果学生的成绩相同,则按照学号的大小进行从小到大排序. 样例输入: 3 1 90 2 87 3 92 样例输出: 2 87 1 90 3 92 C++代码: #include<iostream> #includ

九度oj 题目1196:成绩排序

题目1196:成绩排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5192 解决:1792 题目描述: 用一维数组存储学号和成绩,然后,按成绩排序输出. 输入: 输入第一行包括一个整数N(1<=N<=100),代表学生的个数.接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩. 输出: 按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来.如果学生的成绩相同,则按照学号的大小进行从小到大排序. 样例输入: 3 1 90 2 87 3 92 样例输出: 2

03:成绩排序

03:成绩排序 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前. 输入 第一行为n (0 < n < 20),表示班里的学生数目:接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开.名字只包含字母且长度不超过20,成绩为一个不大于100的非负整数. 输出 把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格.

九度oj 题目1061:成绩排序

题目1061:成绩排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:24473 解决:6960 题目描述: 有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母序排序,如果姓名的字母序也相同则按照学生的年龄排序,并输出N个学生排序后的信息. 输入: 测试数据有多组,每组输入第一行有一个整数N(N<=1000),接下来的N行包括N个学生的数据.    每个学生的数据包括姓名(长度不超过100的字符串).年龄(整形数).成绩(小于等于100的正数). 输出: 将学

查询每门学科成绩在前2位的记录,并按学科,成绩排序

现在有学生成绩表,结构如下 Create Table StuAchievement ( StuId varchar(8), CourseId varchar(10), Achievement int ) 数据就自己动动手录入吧 SELECT * FROM StuAchievement A WHERE EXISTS( SELECT TOP 1 * FROM StuAchievement b WHERE a.CourseId=b.CourseId AND b.Achievement >a.Achie

实验12:Problem I: 成绩排序

Home Web Board ProblemSet Standing Status Statistics Problem I: 成绩排序 Problem I: 成绩排序 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 490  Solved: 403[Submit][Status][Web Board] Description 定义Student类: 1. 数据成员string name和int score表示一个学生的姓名.成绩. 2. 无参构造函

14周(二维数组姓名成绩排序)

/* *copyright(c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:14周(二维数组姓名成绩排序) *作者:王忠 *完成日期:2014.12.01 *版本号:v1.0 * *问题描述:初始化同学的成绩,姓氏,按大小排序 *输入描述:无 *程序输出:按照姓名或者成绩大小排序并输出 #include <iostream> #include <string> using namespace std; const int num=8; i

刷题1:成绩排序

刷题1:成绩排序 来源:https://www.nowcoder.com/practice/0383714a1bb749499050d2e0610418b1 题目: 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理. 示例: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70 smith 67 从低到高 smith 67 jack 70 Tom

成绩排序

题目描述 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩      都按先录入排列在前的规则处理. 例示:   jack      70   peter     96   Tom       70   smith     67 从高到低  成绩               peter     96       jack      70       Tom       70       smith     67 从低到高 smith     67 To