zoukankan      html  css  js  c++  java
  • 03:成绩排序 个人博客:doubleq.win

    个人博客:doubleq.win

    03:成绩排序

    总时间限制: 
    1000ms
     
    内存限制: 
    65536kB
    描述

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

    输入
    第一行为n (0 < n < 20),表示班里的学生数目;
    接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过20,成绩为一个不大于100的非负整数。
    输出
    把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。
    样例输入
    4
    Kitty 80
    Hanmeimei 90
    Joey 92
    Tim 28
    样例输出
    Joey 92
    Hanmeimei 90 
    Kitty 80
    Tim 28
    来源
    习题(14-1)
     1 #include<iostream>
     2 #include<algorithm>
     3 #include<cstdio>
     4 #include<cstring>
     5 using namespace std;
     6 int n,k;
     7 struct s
     8 {
     9     char xh[1001];
    10     int cj;
    11 }a[1001];
    12 int comp(const s &a,const s &b)
    13 {
    14     if(a.cj>b.cj)return 1;
    15     if(a.cj<b.cj)return 0;
    16     if(strcmp(a.xh,b.xh)<0)
    17     return 1;
    18     //if(a.xh<b.xh)return 0;
    19     if(strcmp(a.xh,b.xh)>0)
    20     return 0;
    21 }
    22 int main()
    23 {
    24     cin>>n;
    25     for(int i=1;i<=n;i++)
    26     {
    27         scanf("%s",&a[i].xh);
    28         cin>>a[i].cj;
    29     }
    30     sort(a+1,a+n+1,comp);
    31     /*printf("%s",a[k].xh);
    32     printf("%d",a[k].cj);*/
    33     for(int i=1;i<=n;i++)
    34     {
    35         printf("%s ",a[i].xh);
    36         cout<<a[i].cj<<endl;
    37     }
    38     return 0;
    39 }
  • 相关阅读:
    maven使用
    Java生成XML
    Raphael使用
    pybombs 安装
    Archlinux 踩坑实录
    Office2016 转换零售版为VOL版
    神奇的linux发行版 tiny core linux
    Cubietruck查看CPU及硬盘温度
    在Cubieboard上关闭irqbalance服务避免内存泄漏
    cubieboard中使用py-kms与dnsmasq搭建局域网内全自动KMS激活环境
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6594226.html
Copyright © 2011-2022 走看看