题目描述
今天浙大研究生复试的上机考试跟传统笔试的打分规则相似,总共有n道题,每道题有对应分值,最后计算总成绩。现给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的成绩按降序打印。

输入

第1行给出考生人数N ( 1<= N<=100 )、考题数M (1<=M<=10 )、分数线(正整数)G;
第2行排序给出第1题至第M题的正整数分值;
以下N行,每行给出一名考生的准考证号(长度不超过20的字符串)、该生解决的题目总数m、以及这m道题的题号
(题目号由1到M)。

输出

首先在第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

样例输出

3
CS003 60
CS001 37
CS004 37
代码如下:

#include<stdio.h>
#include<string.h>
struct score
{char name[20];int n;int arr[10];int s;
};/*定义结构体变量*/
int main()
{int b[10],m,i,j,c,d=0,z;struct score a[100],t;scanf("%d%d%d",&m,&c,&z);for(i=0;i<c;i++){scanf("%d",&b[i]);/*输入n门课程各自的分数*/}for(i=0;i<m;i++){a[i].s=0;scanf("%s%d",&a[i].name,&a[i].n);/*输入考生的学号和解决的题目数*/for(j=0;j<a[i].n;j++){scanf("%d",&a[i].arr[j]);/*输入解决的题的题号*/}}for(i=0;i<m;i++){for(j=0;j<a[i].n;j++){a[i].s+=b[a[i].arr[j]-1];/*计算考生的总分*/}}for(i=1;i<=m;i++){for(j=0;j<m-i;j++){if(a[j].s<a[j+1].s){t=a[j];a[j]=a[j+1];a[j+1]=t;/*还是冒泡排序*/}else if(a[j].s==a[j+1].s&&strcmp(a[j].name,a[j+1].name)>0);{t=a[j];/*总分相同是按学号升序排列*/a[j]=a[j+1];a[j+1]=t;}}}for(i=0;i<m;i++){if(a[i].s>=z)/*统计上线考生数*/d++;}printf("%d\n",d);for(i=0;i<m;i++){if(a[i].s>=z)printf("%s %d\n",a[i].name,a[i].s);}return 0;
}

【补充】

1,****结构类型定义的标准格式如下:
struct 结构标识符
{
数据类型 成员1的名字;
数据类型 成员2的名字;

数据类型 成员n的名字;
}
结构内的成员可以是任何类型的变量,包括数组在内。
注意,结构模板只是声明了一种数据类型,定义了数据的组织形式,并未声明结构类型的变量,因而编译器不为其分配内存,就像编译器不会为int分配内存一样。有了结构模板,就可以用其声明结构变量,C语言定义结构变量:
(1)先声明结构类型,再定义结构变量。
eg:struct student stu;
(2)在声明结构的同时定义结构变量。(此种情况下,结构标识符可以省略。)
eg:struct student
{
char ID[16];
char name[16];
char sex;
float score;
}stu;

2,定义好结构变量后,通常使用sizeof运算符计算结构变量实际所占用的内存量。千万不要想当然地对各成员进行简单求和的方式来计算,否则会降低程序的可移植性。

3,温故字符比较函数strcmp()和strncmp()
调用格式:strcmp(字符串1,字符串2)
功能:比较字符串1和字符串2的大小,若前者大则返回一个正整数,若后者大则返回一个负整数,若两者相等,则返回0
调用格式:strncmp(字符串1,字符串2,n)
功能:将字符串1中最多n个字符与字符串2进行比较

注意:比较两个字符串的大小只能使用此函数,而不能使用”>“”==“”<“等关系符

字符串比较规律:按自左至右的顺序,对应字符比较,若二者相等,则比较下一个字符,直到遇到不同的字符为止。比较的结果由函数返回。eg:strcmp(“abc”,“abc”)返回值是0
strcmp(”b“,”abcd“)返回值为正数
strcmp(“abc”,“abcd”)返回值为负数

寄语

天塌下来,有个高的人帮你顶着,但是你能保证那个高的人没在低头吗?之后还不是要靠你自己!!!

欢迎关注!欢迎私信!!欢迎评论!!!

zzulioj1197 考试排名(一)(结构体专题)相关推荐

  1. 考试排名(结构体专题)

    考试排名(结构体专题) 题目描述 今天浙大研究生复试的上机考试跟传统笔试的打分规则相似,总共有n道题,每道题有对应分值,最后计算总成绩.现给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的 ...

  2. 向大佬学习C语言1198: 考试排名(二)(结构体专题)

    题目 1198: 考试排名(二)(结构体专题) 时间限制: 1 Sec 内存限制: 128 MB 提交: 3737 解决: 728ACM 国际大学生程序设计竞赛,英文全称:ACM Internatio ...

  3. 1197: 考试排名(一)(结构体专题)

    1197: 考试排名(一)(结构体专题) 时间限制: 1 Sec  内存限制: 128 MB 提交: 59  解决: 70 [提交] [状态] [讨论版] [命题人:eilene] 题目描述 今天浙大 ...

  4. 考试排名(一)(结构体专题)

    考试排名(一)(结构体专题) 题目描述 今天浙大研究生复试的上机考试跟传统笔试的打分规则相似,总共有n道题,每道题有对应分值,最后计算总成绩.现给定录取分数线,请你写程序找出最后通过分数线的考生,并将 ...

  5. ZZULIOJ1198: 考试排名(二)(结构体专题)

    1198: 考试排名(二)(结构体专题) 题目描述: ACM 国际大学生程序设计竞赛,英文全称:ACM International Collegiate Programming Contest(ACM ...

  6. 1481: 考试排名(一)(结构体专题)

    1481: 考试排名(一)(结构体专题) 1.描述 今天浙大研究生复试的上机考试跟传统笔试的打分规则相似,总共有n道题,每道题有对应分值,最后计算总成绩.现给定录取分数线,请你写程序找出最后通过分数线 ...

  7. 1198: 考试排名(二)(结构体专题)

    1198: 考试排名(二)(结构体专题) 题目描述 ACM 国际大学生程序设计竞赛,英文全称:ACM International Collegiate Programming Contest(ACM- ...

  8. 问题 C: 考试排名(一)(结构体专题)

    问题 C: 考试排名(一)(结构体专题) 时间限制: 1 Sec  内存限制: 128 MB 题目描述 今天浙大研究生复试的上机考试跟传统笔试的打分规则相似,总共有n道题,每道题有对应分值,最后计算总 ...

  9. ZZULIOJ 1180-1198结构体专题 参考代码

    一共19道题 虽然是java写的,但是还是用的类似于C的结构体 下面代码供参考 每题前面标的有题号 *1180 成绩统计(结构体专题) 1181 谁的年龄最小(结构体专题) 1182 查询记录(结构体 ...

  10. ZZULIOJ: 1187: 棒棒糖(结构体专题)

    1187: 棒棒糖(结构体专题) 时间限制: 1 Sec 内存限制: 128 MB 提交: 1006 解决: 790 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 新年快到了,计算机 ...

最新文章

  1. Alibaba Dubbo框架同步调用原理分析-2
  2. Python编程语言学习:for循环实现对多个不同的DataFrame数据执行相同操作(可用于对分开的测试集、训练集实现执行相同逻辑任务)
  3. ASP.NET Core开发-使用Nancy框架
  4. linux 递归删除 空目录命令,使用shell脚本实现递归删除空目录
  5. java中do loop的使用_Java中do-while循环——通过示例学编程(11)
  6. sqlite sqlite3_bind_int sqlite3_bind_text
  7. 报告老板:这次的缓存事故是这样的...
  8. win10更新失败,怎么删除临时文件下面的更新
  9. 软件测试——Junit的使用
  10. Spark内核解析之二:Spark 部署模式
  11. 希望能够在这条路上走下去
  12. C语音--static变量
  13. Check Point R80.10 SmartConsole汉化生成中文报表
  14. 计算机函数average意思,average函数的功能是计算什么
  15. 浪潮2020年Q1闪存存储领涨,出货量增速跃居中国第一
  16. 推荐8个相见恨晚的学习类app,每一个都诚意满满
  17. jupyter notebook书写规范
  18. 大三第十一周学习笔记
  19. 九度OJ北京航空航天大学2008机试题题解
  20. [ASP.NET]文件处理

热门文章

  1. 比 Xshell 还好用的 SSH 客户端神器!
  2. 安卓实现下拉刷新上拉加载
  3. TCP-IP详解:SACK选项(wireshark抓包有SLE和SRE的SACK包)
  4. 机器周期、振荡周期、时钟周期、状态周期???
  5. 常见的SQL面试题(学生表_课程表_成绩表_教师表)
  6. “21 天好习惯”第一期-4
  7. python输出字符串排列组合代码
  8. 智能内存整理 [免费绿色] 3.0.0.0
  9. PySpark之DataFrame的常用函数(创建、查询、修改、转换)
  10. 助眠好物推荐,改善睡眠的好方法