VB题目请教!!!急!!!

来源:百度知道 编辑:UC知道 时间:2024/05/10 19:45:31
20名歌手参加歌唱比赛,10个评委打分。要求,去掉一个最高分、一个最低分,再取平均。计算歌手得分,统计评为打出最高分和最低分的次数(评委打分可用随机模拟)。

谢谢了~~~

代码里我随机生成1到10的分数。
注意:我这样理解你的题目:
1.对于每个歌手的最后得分,都是去掉一个最高一个最低分再取平均分。
2.当有1个以上评委的分数是最高或最低,我也只去掉一个再求平均值。
3.这里,我将8个分数除以10得最后分数。
4.每个评委评最高分最低分的次数分别统计。
5.了方便处理,我用了几个数组。
6.建立一个工程并添加一个窗体,或在一个存在的工程添加一个窗体,再将下面的代码复制进去运行后单击窗体可以看到结果,最大化窗口1024*768可完整显示结果。代码可能很长,不知有更好的方法没有?
Option Explicit

Private Sub Form_Click()
Cls
Dim i As Integer, j As Integer, k As Integer
Dim a(1 To 20, 1 To 10) As Integer '储存原始分数,处理最高分最低分
Dim temp(1 To 20, 1 To 10) As Integer '临时数组,保存原始数据
Dim tempB(1 To 10, 1 To 2) As Integer '临时数组,保存评委评高分低分
Dim b(1 To 20) As Single '临时数组,保存歌手最后得分
Randomize
For i = 1 To 20
For j = 1 To 10
a(i, j) = Int(10 * Rnd + 1)
Next j
Next i

'临时数组,保存原始数据
For i = 1 To 20
For j = 1 To 10
temp(i, j) = a(i, j)
Next j
Next i

Dim t As Integer

'冒泡法处理最高