回 帖 发 新 帖 刷新版面

主题:名次问题

在某市的学生信息学竞赛中有15名选手(选手序号分别为1、2、3、……、14、15),参加了最后的决赛。决赛的规则是决赛名次按选手得分高低排列,即最高分是第1名,其他类推;假设有N名选手获得相同分数,则他们的名次相同,而该名次后面的N-1个名次空缺(如:第2名若有两位选手,则第3名空缺);具体如下例所示:
选手序号: 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15
选手得分:75, 76, 77, 78, 79, 80, 80, 80, 81, 82, 83, 84, 86, 85, 84
选手名次:15, 14, 13, 12, 11,  8,  8,  8,  7,  6,  5,  3,  1,  2,  3
请编程完成根据决赛分数产生选手名次的工作。各选手得分按序号由键盘输入,输出为选手名次。

回复列表 (共1个回复)

沙发

DATA 75,76,77,78,79,80,80,80,81,82,83,84,86,85,84
DIM A(15), B(15)
FOR I = 1 TO 15
READ A(I)
B(I) = 1
NEXT I
FOR I = 1 TO 15
FOR J = 1 TO 15
IF A(J) > A(I) THEN B(I) = B(I) + 1
NEXT J, I
INPUT I
PRINT B(I)

我来回复

您尚未登录,请登录后再回复。点此登录或注册