夏洛特小公主和爷爷:会VB的请进,帮帮我做一题。

来源:百度文库 编辑:神马品牌网 时间:2024/05/08 19:03:33
假如你是评委,给10个选手打分,去掉一个最高分,一个最低分,再计平均分,怎么设计,请写出代码。做出来我会追加很多分。
应该是10个评委给一个选手打分,取掉一个最高分,取掉一个最低分,再取平均分。

Private Sub Form_Load()
Dim s(1 To 10), i, max, min, tmpmax, tmpmin, sum As Integer
tmpmax = 0: tmpmin = 100
For i = 1 To 10
s(i) = CInt(InputBox(i))
Next i
For i = 1 To 10
If s(i) < tmpmin Then
min = i
tmpmin = s(i)
End If
If s(i) > tmpmax Then
max = i
tmpmax = s(i)
End If
Next i
For i = 1 To 10
If i = min Or i = max Then Else sum = sum + s(i)
Next i
MsgBox CStr(sum / 8)
End Sub

你的问题有点不合逻辑啊.应该是10个评委给一个选手打分,取掉一个最高分,取掉一个最低分,再取平均分吧.

思路是,先要找出最大和最小的
求最值的办法是:
把10个评委的评分放入数组并以A[i](i=0,1,...,9)
dim x,y,z,v
x=0
y=100 '满分
z=0
for i=0 to 9 step 1
if A(i)>x then x=A(i) '求最高分
if A(i)<y then y=A(i) '求最低分
z=z+A(i)
next
v=(z-x-y)/8