回 帖 发 新 帖 刷新版面

主题:编程--我的超级弱项啊!数组!!

这次考试郁闷死了,刚考过就会了!一切太迟了啊!
回忆一下拉!大家讨论一下啊!!
题目是:5名歌手,14位评委,最高分10分,去掉两个最高分和两个最低分后的平均分!
要求同分同名次,并且输出名次,选手号,成绩!
话说这题我已经考过两次了,就是好久没用数组了,都忘了!这题目老师讲过之后才知道超级简单啊!我的编程啊!下面我用二维数组顺序排序法做的!~~
大家看看还有什么方法和多多提意见啊!
dim a(5,14),b(5),s(5)
for i=1 to 5
 for j=1 to 14
input a(i,j),b(i)
next j
next i
for i= 1 to 5
 for j= 1 to 13
  for k=j+1 to 14
if a(i,j)>a(i,k) then swap a(i,j),a(i,k)
next k
next j
next i
for i= 1 to 5
   s=0
 for j=3 to 12
s=s+a(i,j)
next j
s(i)=s/10
next i
for i=1 to 4
 for j= i+1 to 5
if s(i)>s(j) then 
swap s(i),s(j)
swap b(i),b(j)
end if
next j
next i
我的循环太多了!希望大家指出错误和简化和能找到更简便的方法,再此谢谢大家了啊
现在处理同分同名次的问题啊!!大家多提意见啊!
s(o)=11
for i=1 to 5
if s(i)<s(i-1) then  t=i
print t,b(i),s(i)
next i
下面的过程是我们老师的方法啊!我觉得好赞啊!!
大家多多评论啊!!

回复列表 (共2个回复)

沙发

没有太大问题,QB里用7个循环嵌套才会很慢!你的程序才用了3个循环嵌套呀!

不过有个地方纠正一下:
老师的方法中, SWAP T=I 好像不对,QB中没有这种写法吧?!

板凳

失误啊!!
笔错啊!!!
谢谢拉~~~

我来回复

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