考研编程练习----排名

题目描述:
今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑每题的分值,所以并不是最后的排名。给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的成绩按降序打印。
输入:

    测试输入包含若干场考试的信息。每场考试信息的第1行给出考生人数N ( 0 < N < 1000 )、考题数M ( 0 < M < = 10 )、分数线(正整数)G;第2行排序给出第1题至第M题的正整数分值;以下N行,每行给出一名考生的准考证号(长度不超过20的字符串)、该生解决的题目 总数m、以及这m道题的题号(题目号由1到M)。
    当读入的考生人数为0时,输入结束,该场考试不予处理。

输出:

    对每场考试,首先在第1行输出不低于分数线的考生人数n,随后n行按分数从高到低输出上线考生的考号与分数,其间用1空格分隔。若有多名考生分数相同,则按他们考号的升序输出。

样例输入:
4 5 25
10 10 12 13 15
CS004 3 5 1 3
CS003 5 2 4 1 3 5
CS002 2 1 2
CS001 3 2 3 5
1 2 40
10 30
CS001 1 2
2 3 20
10 10 10
CS000000000000000001 0
CS000000000000000002 2 1 2
0
样例输出:
3
CS003 60
CS001 37
CS004 37
0
1
CS000000000000000002 20
别人的代码:
#include <stdio.h>
#include <string.h>
typedef struct student{
    char id[22];
    int m;
    int a[10];
}stu;
int a[10];
stu b[1000];
int main(){
    int n,m,g;
    int i,j,sum[1000],k,ans,max;
    while(scanf("%d",&n)!=EOF&&n!=0){
        scanf("%d%d",&m,&g);
        for(i=0;i<m;i++)
            scanf("%d",&a[i]);
        for(i=0;i<n;i++){
            scanf("%s%d",b[i].id,&b[i].m);
            for(j=0;j<b[i].m;j++)
                scanf("%d",&b[i].a[j]);
        }
        ans=0;
        for(i=0;i<n;i++){
            k=0;
            for(j=0;j<b[i].m;j++)
                k+=a[b[i].a[j]-1];
            sum[i]=k;
            if(k>=g) ans++;
        }
        printf("%d\n",ans);
        for(i=0;i<ans;i++){
            max=0;
            for(j=0;j<n;j++){
                if(sum[j]>sum[max] || (sum[j]==sum[max]&&strcmp(b[j].id,b[max].id)<0)){
                    max=j;
                }
            }
            printf("%s %d\n",b[max].id,sum[max]);
            sum[max]=0;
        }      
    }
    return 0;
}

转载于:https://www.cnblogs.com/Alex0111/p/4600275.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下安装dovecot

Dovecot是一个开源的&#xff0c;为Linux/Unix-like系统提供IMAP,POP3服务的软件。主要是为了安全产生的&#xff0c;不管大小应用&#xff0c;Dovecot都是一个非常优秀的选择。它非常快&#xff0c;配置简单&#xff0c;不需要专业的管理员&#xff0c;而且它也非常节省内存。…

放大镜_指甲钳上有放大镜?再也不怕夹到肉了

扒姬说&#xff1a;剪指甲钳最害怕什么&#xff0c;是没注意夹到肉有没有。尤其是近视的人和手脚不便的老人&#xff0c;或者是给较小的宝宝剪指甲时&#xff0c;总是看不清指甲边缘的形状、刀口的位置&#xff0c;一不小心就会夹到手指、脚趾。今天&#xff0c;扒姬推荐一个特…

linux学习规划

转载于:https://www.cnblogs.com/Alight/p/4601510.html

oracle如何在本地建库,oracle在本地建库

oracle数据库本地建库&#xff0c;需要使用oracle安装路径下面的-配置和移植工具-Database Configuration Assistant 通过一次点击下一步进行建库。 在库建好后&#xff0c;使用系统账号 User:sys password:sys Connect as SYSDBA在客户端进行登录 --创建表空间 Create tablesp…

「BZOJ1485」[HNOI2009] 有趣的数列 (卡特兰数列)

「BZOJ1485」[HNOI2009] 有趣的数列 Description 我们称一个长度为2n的数列是有趣的&#xff0c;当且仅当该数列满足以下三个条件&#xff1a; (1)它是从1到2n共2n个整数的一个排列{ai}&#xff1b; (2)所有的奇数项满足a1<a3<…<a2n-1&#xff0c;所有的偶数项满足a2…

wedo2.0编程模块介绍_能量黑科技模块系列十:RFID魔块

RFID魔块RFID此模块可以对套件配套的RFID卡或者空白RFID卡进行读写&#xff0c;用于权限验证的DIY制作。常规的公交卡、地铁卡是无法进行写入&#xff0c;但可以读取UID号。配套RFID卡内存为1K&#xff0c;有16个分区&#xff0c;每个分区有3个数据块可进行写入此模块可以对套件…

Android 6.0权限问题

Android 6.0 open failed: EACCES (Permission denied) 对于6.0权限问题&#xff0c;报错如上&#xff1a; 解决方案&#xff1a; Android 6.0 (Marshmallow). 添加新的权限模型&#xff0c;需要在运行时动态获取所需要的权限。 首先判断手机系统版本是否在6.0然后才是支持运行…

[SoapUI] 通过SoapUI发送POST请求,请求的body是JSON格式的数据

通过SoapUI发送POST请求&#xff0c;请求的body是JSON格式的数据&#xff1a; data{"currentDate":"2015-06-19","reset":true} 而且通过Fiddler抓取页面报文 Content-Type 是 application/x-www-form-urlencoded 一开始我将Content-Type appl…

oracle -239报错,解决: ./check_oracle_health --connect orcl --mode connection-time 报错的问题...

错误提示./check_oracle_health --connect orcl --mode connection-timeCRITICAL - cannot connect to orcl. install_driver(Oracle) failed: Cant locate DBD/Oracle.pm in INC (INC contains: . /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_per…

【python 3.6】调用另一个文件的类的方法

文件1&#xff1a;test12.py 文件2&#xff1a;test13.py 文件1 如下&#xff1a; #!/usr/bin/python # -*- coding: utf-8 -*-class abcd(object):def __init__(self):passdef pr(self):return("KKKKKKK") if __name__"__main__":abcd().pr() 文件2&#…

el-button 图标显示在字后边_Excel和Visio联姻,自动生成跨职能流程图,还能用图标标记状态,太牛了!...

正文共&#xff1a;1332 字 21 图预计阅读时间&#xff1a; 4 分钟Visio是Office软件系列中的负责绘制流程图和示意图的软件&#xff0c;创建具有专业外观的Visio图表&#xff0c;以便用户更好地理解和分析。企业管理中&#xff0c;业务流程在不同部门间流转&#xff0c;涉及提…

mybatisGenerator 代码自动生成报错 Result Maps collection already contains value for BaseResultMap...

由于mybatis简单易学&#xff0c;比起Hibername来&#xff0c;更容易上手&#xff0c;代码也能自动生成。这几天研究了下代码自动生成的&#xff0c;参考&#xff1a;http://0609xiaohua.iteye.com/blog/1453570但是把代码复制进来&#xff0c;运行了下&#xff0c;却跑不起来&…

Bootstrap系列 -- 32. 按钮垂直分组

实际运用当中&#xff0c;总会碰到垂直显示的效果。在Bootstrap框架中也提供了这样的风格。我们只需要把水平分组的“btn-group”类名换成“btn-group-vertical”即可。 <div class"btn-group-vertical"><button class"btn btn-default" type&quo…

oracle确实表达式,ORACLE正规表达式

[导读]Oracle使用正则表达式离不开这4个函数&#xff1a;Oracle使用正则表达式离不开这4个函数&#xff1a;1。regexp_like2。regexp_substr-- select regexp_substr(aaa,bb,ccccc,ddd,vvv,[^,],1,4) from dual3。regexp_instr4。regexp_replace参数1。source_char&#xff0c;…

【SpringBoot笔记】SpringBoot整合Druid数据连接池

废话少说&#xff0c;按SpringBoot的老套路来。 【step1】&#xff1a;添加依赖 <!-- 数据库连接池 --> <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.25</version> </depende…

python名字排序_python 中文排序(按拼音)

pypinyin1 排序 仅按拼音首字母 排序安装pypinyinpip3 install pypinyin代码from pypinyin import lazy_pinyinchars [鑫,鹭,榕,柘,珈,骅,孚,迦,瀚,濮,浔,沱,泸,恺,怡,岷,萃,兖]chars.sort(keylambda char: lazy_pinyin(char)[0][0])print([lazy_pinyin(char) for char in cha…

struts2中非表单标签的使用 componen

2. component标签 component标签用于使用自己的自定义组件&#xff0c;这是一个非常灵活的用法&#xff0c;如果经常需要使用某个效果片段&#xff0c;就可以考虑将这个效果片段定义成一个自定义组件&#xff0c;然后在页面中使用component标签来使用该自定义组件。因为使…

oracle 11g r2 rac中节点时间不同步,Oracle11gR2安装RAC错误之--时钟不同步

系统环境&#xff1a; 操作系统&#xff1a;RedHat EL5 Cluster&#xff1a; Oracle GI(Grid Infrastructure) Oracle&#xff1a; Oracle 11.2.0.1.0 如图所示&#xff1a;RAC 系统架系统环境&#xff1a;操作系统&#xff1a;RedHat EL5Cluster&#xff1a; Oracle GI(Grid I…

vue中pdf预览组件_Vue+ElementUI使用vue-pdf实现预览功能

Vue ElementUI项目中使用vue-pdf实现简单预览&#xff0c;供大家参考&#xff0c;具体内容如下1、安装 vue-pdfnpm install --save vue-pdf2、在vue页面中导入对应的组件我这是通过点击 预览 按钮 获取id打开一个dialog来实现:visible.sync"viewVisible" width"…