1178:成绩排序

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 29458     通过数: 11916

【题目描述】

给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。

【输入】

第一行为n (0 < n < 20),表示班里的学生数目;

接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过20,成绩为一个不大于100的非负整数。

【输出】

把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。

【输入样例】

4
Kitty 80
Hanmeimei 90
Joey 92
Tim 28

【输出样例】

Joey 92
Hanmeimei 90
Kitty 80
Tim 28

【参考代码】

#include <stdio.h>
#define N 25
struct node
{
    char s[N];
    int score;
}stu[N],t;
void chssort(struct node x[],int n)
{
    int i,j,p;
    for(i=0;i<n-1;i++)
    {
        p=i;
        for(j=i+1;j<n;j++)
        {
            if(x[j].score > x[p].score)
            {
                p=j;
            }
            else if(stu[p].score == stu[j].score && strcmp(stu[p].s,stu[j].s)>0)
            {
                p=j;
            }
        }
        if(p!=i)
        {
            t=stu[p];
            stu[p]=stu[i];
            stu[i]=t;
        }
    }
}
int main()
{
    int i,n;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%s %d",&stu[i].s,&stu[i].score);
    
    chssort(stu,n);
    
    for(i=0;i<n;i++)
        printf("%s %d\n",stu[i].s,stu[i].score);
    return 0;
}

http://ybt.ssoier.cn:8088/problem_show.php?pid=1178

信息学奥赛一本通(1178:成绩排序)——选择排序相关推荐

  1. 信息学奥赛一本通 1181:整数奇偶排序 | OpenJudge NOI 1.10 06:整数奇偶排序

    [题目链接] ybt 1181:整数奇偶排序 OpenJudge NOI 1.10 06:整数奇偶排序 [题目考点] 1. 排序 [君义精讲]排序算法 [解题思路] 解法1:将奇数和偶数分开,分别排序 ...

  2. 信息学奥赛一本通 1178:成绩排序 | OpenJudge NOI 1.10 03:成绩排序

    [题目链接] ybt 1178:成绩排序 OpenJudge NOI 1.10 03:成绩排序 [题目考点] 1. 结构体 排序 [君义精讲]排序算法 2. 多关键字排序 方法1:将多关键字的排序条件 ...

  3. 信息学奥赛一本通1178题——成绩排序

    [题目描述] 给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前. [输入] 第一行为n (0 < n < 20),表示班里的学生数目: 接下 ...

  4. 信息学奥赛一本通(1185:单词排序)

    1185:单词排序 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 11964     通过数: 6009 [题目描述] 输入一行单词序列,相邻单词之间由1个或多个 ...

  5. 信息学奥赛一本通C++语言-----2048:【例5.18】串排序

    [题目描述] 对给定的n(1≤n≤20)n(1≤n≤20)个国家名(国家名字长度不超过2020),按其字母的顺序输出. [输入] 第一行为国家的个数nn: 以下nn行为国家的名字. [输出] nn行, ...

  6. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  7. 信息学奥赛一本通在线提交地址

    信息学奥赛一本通 1 C++语言入门 1.1 综合 1.1.1 P1458 地球人口承载力估计 正确: 770 提交: 1794 比率: 42.92 % 1.1.2 P1686 Hello, Worl ...

  8. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  9. 信息学奥赛一本通(C++版) 网站补充题目

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 网站补充题目 http://ybt.ssoier ...

  10. 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...

最新文章

  1. HP c3000/c7000 blade switch GBE2c 初始配置
  2. [六]RabbitMQ-客户端源码之AMQCommand
  3. Spring事务总结(一) 内部调用事务失效、异常回滚
  4. FIR滤波器FPGA实现
  5. 给特定的模拟器/设备实例发送命令
  6. mysql5.7.22并行回放_技术分享 | 从库 MTS 多线程并行回放(二)
  7. vector容器,容量和大小的操作
  8. php3.2项目怎么创建,php网站后台源码(thinkphp3.2.3开发微信编辑器创建后台)
  9. 2003卡在应用计算机设置,计算机操作与应用(Windows XP+Office 2003)
  10. 使用sql语句直接修改数据库密码的解决方案
  11. w10运行游戏计算机中丢失xinput1-3.dll,win10游戏缺少xinput1_3.dll如何修复_win10电脑找不到xinput1_3.dll怎么解决...
  12. 禁止从终端服务器复制文件
  13. 各类编程开发网址分享
  14. 关于码距、检错、纠错
  15. mysql group top_Mysql group by 后取 top N 问题
  16. 20200220MFC 之CListCtrl(二)
  17. 服务机器人常用的定位导航技术及优缺点分析
  18. 秉火stm32f429移植u-boot
  19. jmeter压测生成报告
  20. Linux——进程、任务和线程

热门文章

  1. JavaScript实现继承机制(3)——通过原型链(prototype chaining)方式
  2. GNU make manual 翻译( 一百五十五)
  3. JavaEE实战班第八天
  4. 人工智能、机器学习、深度学习的关系,终于有人讲明白了
  5. java读取mxl_Dom4j 读取一个XML文件和将String写成XML文件 | 学步园
  6. creo配置文件config选项详解_5年资深架构师重点聚焦:SpringBoot的配置详解+内嵌Servlet容器
  7. 国内开源项目无法形成气候且难以持续性的问题分析
  8. 如何打造一个搞垮公司的产品?
  9. 牛逼!简单的代码提交能玩出这么多花样
  10. SQL:我为什么慢你心里没数吗?