小明的调查统计(二)
1 /*小明的调查统计(二) 2 时间限制:1000 ms | 内存限制:65535 KB 3 难度:1 4 描述 5 最近小明他们社团对理工全校每个班级进行了一次社会调查,他们对每同学的数学成绩进行了统计。小明的任务是老师想知道全校成绩排在第n名同学的班级 6 号和班级学号(如果成绩相同就并列排在同一名次),现在你需要编一个程序帮助小明来完成这个任务。 7 输入 8 只有一组测试数据 9 第一行输入正整数T(0<T<=500)和M(0<M<=101),表示学校的班级数和老师需要查询的次数 10 随后有T行数据,第i行表示班级号为i的班级,每行第一个数N(0<N<=200)表示这个班级有N个同学。接下来输入N个正整数,第j个正整数表示班级学号为j同学 11 的数学成绩(0=<数学成绩<=100,班级号和班级学号都是从1开始)。 12 随后的M行数据,每行数据有一个正整数Q,表示查询全校数学成绩排名第Q位的所有同学的班级号和班级学号。 13 输出 14 每次查询输出占一行,输出成绩排在第Q位同学的班级号和学号(如果有多同学成绩并列排在在第Q名,那么按班级号从小到大输出,如果班级号相同那么按班级 15 学号从小到大输出) 16 样例输入 17 3 4 18 10 23 56 89 41 23 54 65 23 89 68 19 3 89 78 85 20 5 56 68 76 56 74 21 1 22 2 23 3 24 4 25 样例输出 26 1 3 27 1 9 28 2 1 29 2 3 30 2 2 31 3 3 32 来源 33 [路过这]原创 34 上传者 35 路过这 36 */ 37 38 #include<stdio.h> 39 40 41 42 /*错误代码 43 struct Student 44 { 45 int clas; 46 int num; 47 int grade; 48 int name; 49 } stu[100010] ; 50 int main() 51 { 52 int T, M, i, j, k, N, n=0, p; 53 scanf("%d%d",&T, &M); 54 struct Student temp; 55 for(i=0; i<T; i++) 56 { 57 scanf("%d",&N); 58 for(j=0; j<N; j++) 59 { 60 stu[n++].clas = i+1; 61 stu[n++].num = j+1; 62 scanf("%d",&stu[n++].grade ); 63 } 64 }//输入成绩 65 for(i=0; i<n; i++) 66 for(j=i+1; j<n; j++) 67 { 68 if(stu[i].grade < stu[j].grade) 69 { 70 temp = stu[i]; 71 stu[i] = stu[j]; 72 stu[j] = temp; 73 } 74 }//按成绩排序 75 k=1; 76 stu[0].name = k; 77 for(i=0; i<n; i++) 78 { 79 if(stu[i].grade > stu[i+1].grade) 80 stu[i+1].name = k++; 81 else 82 stu[i+1].name = k; 83 }//给定名次 84 for(i=1; i<=M; i++) 85 { 86 scanf("%d",&p); 87 for(j=0; j<n; j++) 88 { 89 if(stu[j].name == p) 90 printf("%d %d\n", stu[j].clas, stu[j].num); 91 } 92 } 93 return 0; 94 } 95 96 */ 97 98 99 AC代码 100 int main() 101 { 102 int s[501][201]={0}, i, k, j, buf[101]={0}, T, M, N, n, max=0; 103 scanf("%d %d",&T , &M); 104 for(i = 0; i < T; i++ ) 105 { 106 scanf("%d",&N); 107 max = N>max ? N : max; 108 for(j = 0; j < N; j++) 109 { 110 scanf("%d", &s[i][j] ); 111 k = s[i][j]; 112 buf[k] = 1; 113 } 114 }//输入并记录成绩 115 for(i = 0; i < M; i++) 116 { 117 scanf("%d",&n); 118 k=0; 119 for(j = 100; j >= 0; j--) 120 { 121 if( buf[j] ) k++; 122 if(k == n)//成绩匹配名次 123 { 124 n=j; 125 for(k = 0; k < T; k++) 126 for(j = 0; j < max; j++) 127 if(s[k][j] == n) 128 printf("%d %d\n",k+1 , j+1); 129 break; 130 } 131 } 132 } 133 return 0; 134 }
转载于:https://www.cnblogs.com/a604378578/p/3684421.html
小明的调查统计(二)相关推荐
- NYOJ 240 小明的调查统计(二)
小明的调查统计(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 最近小明他们社团对理工全校每个班级进行了一次社会调查,他们对每同学的数学成绩进行了统计.小明的任务是 ...
- 小明的调查作业java_小明的调查作业
小明的调查作业 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 小明的老师布置了一份调查作业,小明想在学校中请一些同学一起做一项问卷调查, 聪明的小明为了实验的客观性,想利用 ...
- C语言 小明的调查作业
Description 小明的老师布置了一份调查作业,小明想在学校中随机找N个同学一起做一项问卷调查,聪明的小明为了实验的客观性,他先随机写下了N个1到1000之间的整数(0<N≤1000),不 ...
- zzuli OJ 1118:小明的调查作业
小明的老师布置了一份调查作业,小明想在学校中请一些同学一起做一项问卷调查,聪明的小明为了实验的客观性,想利用自己的计算机知识帮助自己.他先用计算机生成了N个1到1000之间的随机整数(0<N≤1 ...
- CSP题目:小明种苹果树
小明种苹果树 CSP题目 题目描述:小明在他的果园里种了一些苹果树,这些苹果树排列成一个圆.为了保证苹果的品质,在种植过程中要进行疏果操作.为了更及时地完成疏果操作,小明会不时地检查每棵树的状态,根据 ...
- csp试题2:小明种苹果(绪)
csp试题2:小明种苹果(绪) 题目 分析 代码 总结 题目 题目描述 小明在他的果园里种了一些苹果树,这些苹果树排列成一个圆.为了保证苹果的品质,在种植过程中要进行疏果操作.为了更及时地 ...
- ZZULIOJ 2348: 小明的第一份实习任务(前缀和)
题目描述 日志系统是分布式系统的重要组成部分,决定着系统的成败.工业界一种比较常见的的日志处解决方案是通过消息队列将系统产生的日志信息异步的存储起来,再通过日志分析服务进行相应的日志分析,常用的消息队 ...
- ccf:201909-2 小明种苹果(续)
小明在他的果园里种了一些苹果树,这些苹果树排列成一个圆.为了保证苹果的品质,在种植过程中要进行疏果操作.为了更及时地完成疏果操作,小明会不时地检查每棵树的状态,根据需要进行疏果.检查时,如果发现可能有 ...
- CCF计算机软件能力认证试题练习:201909-2 小明种苹果(续)
小明种苹果(续) 来源:CCF 标签: 参考资料: 相似题目: 题目 小明在他的果园里种了一些苹果树,这些苹果树排列成一个圆.为了保证苹果的品质,在种植过程中要进行疏果操作.为了更及时地完成疏果操作, ...
最新文章
- python下线程以及锁
- java订单超时取消设计_quartz框架和关闭超时订单
- Eclipse + Pydev开发Python时import报错解决方法
- SAP table HRP1000的妙用
- 随机森林分类器_建立您的第一个随机森林分类器
- 腰椎患者多运动好,还是多休息好?
- 【编译器】VSCode配置Go语言开发环境
- 笔记本计算机显示图标,笔记本电脑声音图标不见了?电脑声音图标显示红叉
- ecshop模板支持php,让ecshop模板支持php运算
- 并查集-A Bug's Life(poj2492)
- 2014诺贝尔化学奖(了解学习)
- android应用开发-从设计到实现 4-8 天气预报的布局
- 使用R语言筛选数据中的重复行
- 软件设计师教程(九)计算机系统知识-软件工程基础知识
- 【MySql】windows下重置数据库密码
- python实现中文和unicode转换
- Kibana:如何在 Dashboard 中针对部分的数据做可视化
- 【MyBatis从入门到入土】6 - 关联、集合
- 高性能计算在石油物探中的应用现状与前景
- 如何用计算机直接做工资表,在电脑上excel做工资表怎么划线