得分排行算法

题目

假设有一教师依学生座号输入考试分数,现希望在输入完毕后自动显示学生分数的排行,当然学生的分数可能相同

算法:

1、  走访分数阵列A1,获得各分数人数的阵列A2

2、  对A2分数阵列进行向左相加处理,获得最终分数对应的排名

解析

假设需分数排名分数区间为 1 – N,该分数区间会自动产生 N个排序(分数为0自动为最后一名)

当人数p(N)≥N时,在分数序列中,一定存在相同的分数,相同分数享有相同的排名

当人数p(N)<N时,在分数序列中,一定存在一个分数不属于任何人,该分数排名空出

//Effect : 对分数生成1-20的随机数进行排名
// 生成分数阵列
for(i=0;i<snum;i++) score[i]=rand()%snum+1;
// 走访分数阵列获得各分数对应的人数阵列
for(i=0;i<snum;i++) rank[score[i]]++;
// 获得分数排名 [分数+1]→[排名]
for(i=snum;i>=0;i--) rank[i]=rank[i]+rank[i+1];
printf("score rank:\n");
// 输出分数排名
for(i=0;i<snum;i++) printf("Score = %2d Rank = %d\n",score[i],rank[score[i]+1]);

得分排行算法,布布扣,bubuko.com

时间: 2024-07-28 22:05:16

得分排行算法的相关文章

【得分排行】

/* 得分排行 */ #include<stdio.h> #include<stdlib.h> #define MAX 100 #define MIN 0 int main(void) { int score[MAX + 1] = {0}; int juni[MAX + 2] = {0}; int count = 0, i; printf("输入分数, -1 结束:"); do { scanf("%d", &score[count++

java 经典算法(转)

1.河内之塔.. 2.Algorithm Gossip: 费式数列. 3. 巴斯卡三角形 4.Algorithm Gossip: 三色棋 5.Algorithm Gossip: 老鼠走迷官(一) 6.Algorithm Gossip: 老鼠走迷官(二) 7.Algorithm Gossip: 骑士走棋盘 8.Algorithm Gossip: 八皇后 9.Algorithm Gossip: 八枚银币. 10.Algorithm Gossip: 生命游戏. 11.Algorithm Gossip:

【经典算法大全】收集51种经典算法 初学者必备

<经典算法大全>是一款IOS平台的应用.里面收录了51种常用算法,都是一些基础问题.博主觊觎了好久,可悲哀的是博主没有苹果,所以从网上下了老奔的整理版并且每个都手敲了一遍. 虽然网上也有博客贴了出来,但是自己写写感觉总是好的.现在分享个大家. 代码和运行结果难免有出错的地方,请大家多多包涵. 1.河内之塔(汉诺塔) 2.费式数列 3.巴斯卡三角形 4.三色棋 5.老鼠走迷宫(1) 6.老鼠走迷宫(2) 7.骑士走棋盘 8.八皇后 9.八枚银币 10.生命游戏 11.字串核对 12.双色河内塔,

游戏中百万用户排行设计与实现

排行榜在游戏中非常常见的功能之一,在游戏中有各种排行榜,如工会活跃度,玩家的英雄战斗力排行等.当数据上亿时,如果使用数据库直排是致命的慢,远远超出用户接受的响应时间.也对数据库造成非常大的压力.本文将会讲述千万用户级别的用户排行系统的一些设计理念并讲述数据库直排以及使用桶排和内存数据优化排行榜. 在讲述设计前,有必要先了解一些基础理论,文章将会先讲述什么排行榜的类别,排行规则和排名分布,然后进一步结合以往写的一个简单的排行系统Nagi,讲述数据库直排和使用桶排技术,以及内存缓存技术等. 排行榜的

经典算法大全

原文地址:经典算法大全 作者:liurhyme 经                                                                    典                                                                    算                                                                    法                  

游戏排行榜算法设计实现比较

以前在音乐做过一些实时投票,积分排名:单曲.专辑等排行榜:游戏中也有类似的战斗力排行:SNS的游戏又有好友排行等,对于此类的排行算法在此做个总结. 需求背景: 查看前top N的排名用户 查看自己的排名 用户积分变更后,排名及时更新 方案一: 利用MySQL来实现,存放一张用户积分表user_score,结构如下: 取前top N,自己的排名都可以通过简单的sql语句搞定. 算法简单,利用sql的功能,不需要其他复杂逻辑,对于数据量比较少.性能要求不高,可以使用.但是对于海量数据,性能是无法接受

java学习-4 经典算法

1.河内之塔.. 2.Algorithm Gossip: 费式数列. 3. 巴斯卡三角形 4.Algorithm Gossip: 三色棋 5.Algorithm Gossip: 老鼠走迷官(一) 6.Algorithm Gossip: 老鼠走迷官(二) 7.Algorithm Gossip: 骑士走棋盘 8.Algorithm Gossip: 八皇后 9.Algorithm Gossip: 八枚银币. 10.Algorithm Gossip: 生命游戏. 11.Algorithm Gossip:

数据结构及算法答案

1.1 简述下列术语:数据,数据元素.数据对象.数据结构.存储结构.数据类型和抽象数据类型. 解:数据是对客观事物的符号表示.在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称.     数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理.     数据对象是性质相同的数据元素的集合,是数据的一个子集.     数据结构是相互之间存在一种或多种特定关系的数据元素的集合.     存储结构是数据结构在计算机中的表示.     数据类型是一个值的集合和定义在这个

从打击App刷榜看苹果的底线

这两天苹果打击App刷榜者的消息刷屏了,从腾讯科技.appying多个媒体渠道看到,<安居客>.<友秘>.<微在>.<秦时明月2>.<悟空与貂蝉>等应用和游戏因为刷榜遭遇了苹果的严重惩罚,有的被降权到1000名以后,有的直接被下架了,可能刷榜的还有很多,只是没有那么明显,还没有被苹果揪出来.这些刷榜的之所以遭到惩罚,最大的原因就是触碰到了苹果的底线. 苹果的底线是什么? 没有人知道,因为这个一直是一个秘密,但是从之前很长的一段时间的苹果做法来看,