vb问题“运动会成绩排名”

来源:百度知道 编辑:UC知道 时间:2024/06/15 05:24:14
某单位开运动会,共有十人参加男子一百米短跑,运动员和成绩如下;
207号 14.5秒 077号 15.1秒
156号 14.2秒 231号 14.7秒
453号 15.2秒 276号 13.9秒
096号 15.7秒 122号 13.7秒
339号 14.9秒 302号 14.5秒
编写程序,按成绩排出名次,并按如下格式输出
名次 运动员号 成绩
1 ……… ……
2 …….. ……..
3 ………. ……….
4 ………. ………..
10 ………. ……….

成绩录入的就不写了,看你界面设计了,假定数据你已经放在了数组里面
a(10),b(10),其中,a 是编号,b是成绩,数组c(10)用来保存对应运动员的成绩
dim minTime as doubel
dim lastTime as doubel '记录上个一名次最好成绩,以计算并列
dim tempPlayer as int 'int后面几个字母不会拼,自己填上……
dim lastPlayer as int '记录上一个最好成绩的运动员
for i = 0 to 9
...c(i) = 0 '为了避免错误,初始化所有运动员排名为0,意为未排名
next

for i = 0 to 9
...minTime = 1000000 '初始化当前最佳成绩为大数,以方便后面比较
...for j = 0 to 9
......if b(i) <= minTime and c(i) = 0 then '已经有名次的不排序
.........tempPlayer = j
.........minTime = b(j)
......endif
...next
...if minTime = lastTime then
......c(tempPlayer) = c(lastPlayer)
...else
......c(tempPlayer) = i
......lastTime = minTime
......lastPlayer = tempPlayer
...endif
next
'输出
for i = 0 to 9
...for j = 0 to 9
......if c(j) = i then
.........'用你喜欢的方式输出,c(j) + 1,a(j),c(j)
......endif
...next
next

(写完了看,或许我上来先