看以下代码是否合用[ 先要建立一个TextBox 和 一个Command ]:
Private Sub Command1_Click()
Dim 运动员成绩(1 To 30, 1 To 10) As Double '30人,10个成绩评分
Dim 运动员平均成绩(1 To 30) As Double, 中介数组(1 To 10) As Double
Dim 最低分 As Double, 最高分 As Double, 合计分数 As Double
'各运动员随机给分
Text1Text = "各运动员成绩:" & vbCrLf
Dim 随机值, 上限, 下限
上限 = 10
下限 = 0
随机值 = Int((上限 - 下限 + 1) Rnd(Second(Now)) + 下限)
For i = 1 To 30
For j = 1 To 10
运动员成绩(i, j) = Int((上限 - 下限 + 1) Rnd(Second(Now)) + 下限)
Next
Text1Text = Text1Text & 运动员成绩(i, 1) & " " & 运动员成绩(i, 2) & " " & 运动员成绩(i, 3) & " " & 运动员成绩(i, 4) & " " & 运动员成绩(i, 5) & " " & _
运动员成绩(i, 6) & " " & 运动员成绩(i, 7) & " " & 运动员成绩(i, 8) & " " & 运动员成绩(i, 9) & " " & 运动员成绩(i, 10) & vbCrLf
Next
'计算各运动员的成绩
Text1Text = Text1Text & "各运动员平均成绩:" & vbCrLf
For i = 1 To 30
合计分数 = 0
For j = 1 To 10
中介数组(j) = 运动员成绩(i, j)
合计分数 = 合计分数 + 中介数组(j)
If j = 10 Then
最低分 = Max(中介数组)
最高分 = Min(中介数组)
运动员平均成绩(i) = (合计分数 - 最低分 - 最高分) / 8
End If
Next
Text1Text = Text1Text & 运动员平均成绩(i) & vbCrLf
Next
'按成绩排序
Text1Text = Text1Text & "组序后成绩:" & vbCrLf
Call 排序(运动员平均成绩)
For i = 1 To 30
Text1Text = Text1Text & 运动员平均成绩(i) & vbCrLf
Next
End Sub
Public Sub 排序(List() As Double)
Dim First As Double, Last As Double
Dim i As Integer, j As Integer
Dim Temp As Double
First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i) > List(j) Then
Temp = List(j)
List(j) = List(i)
List(i) = Temp
End If
Next j
Next i
End Sub
Public Function Max(输入() As Double) As Double
Dim First As Double, Last As Double
Dim i As Integer, j As Integer
Dim Temp As Double
First = LBound(输入)
Last = UBound(输入)
For i = First To Last - 1
For j = i + 1 To Last
If 输入(i) > 输入(j) Then
Temp = 输入(j)
输入(j) = 输入(i)
输入(i) = Temp
End If
Next j
Next i
Max = 输入(i)
End Function
Public Function Min(输入() As Double) As Double
Dim First As Double, Last As Double
Dim i As Integer, j As Integer
Dim Temp As Double
First = LBound(输入)
Last = UBound(输入)
For i = First To Last - 1
For j = i + 1 To Last
If 输入(i) > 输入(j) Then
Temp = 输入(j)
输入(j) = 输入(i)
输入(i) = Temp
End If
Next j
Next i
Min = 输入(1)
End Function
Private Sub Command1_Click()
Dim arry1(9) As Variant
For i = 0 To 9
arry1(i) = Val(Text1(i)Text)
Next
'对数组排序
Dim w1, w2 As Integer
Dim temp1 As Variant
For w1 = 0 To UBound(arry1()) - 1
For w2 = w1 + 1 To UBound(arry1())
If arry1(w1) < arry1(w2) Then
temp1 = arry1(w1)
arry1(w1) = arry1(w2)
arry1(w2) = temp1
End If
Next
Next
Sum = 0
For j = 1 To 8
Sum = Sum + arry1(j)
Next
MsgBox "去掉一个最高分:" & arry1(0) & "--去掉一个最低分:" & arry1(9) & "--最后得分为:" & Sum / 8
End Sub
用控件数组,放一个text,然后复制粘贴成10个
Dim a(20) '如果不需要显示20个数的话,不需要数组,a(i)用X代替就可以
Dim max!, Min!, i%
Private Sub Command1_Click() '按钮单击
For i = 1 To 20
a(i) = Int(Rnd 10) + 1 '[1~10]间在随机数
s = s + a(i) '求和
If i = 1 Then '最大最小值的初值为第一个数
max = a(1): Min = a(1)
Else
If max < a(i) Then max = a(i)
If Min > a(i) Then Min = a(i)
End If
Next i
Print (s - max - Min) / 18 '求平均
End Sub
一般程序这种东西没有完全的唯一答案,因为大家的算法会是不一样的,你要进屋,可以走门,也可以翻窗,目的都是进去屋子。
说整体,判断是否用到必须要用到的函数,判断结果是否正确,别的不用判断什么了,因为在计算机二级,不管是C,VB,ACCESS,VF等,只要答案对了就可以,你写1句程序,和写100句的结果是一样的就行了。
Private Sub Command1_Click()
Dim a(1 To 10)
Dim ave, sum, min, max
For i = 1 To 10
a(i) = Val(InputBox("请输入第" & i & "个评委的分数"))
Print a(i);
Next i
min = a(1)
max = a(10)
For i = 1 To 10
sum = sum + a(i)
If a(i) < min Then min = a(i)
If a(i) > max Then max = a(i)
Next i
ave = (sum - min - max) / 8
Print "选手的最终成绩:" & ave
End SubPrivate Sub Form_Load()
MeAutoRedraw = True
Print "输入十位评委的分数:"
End Sub
Dim a, b, i, j, h As Integer, c(1 To 4), d As String
Private Sub Command1_Click()
a = Int(Rnd 11)
b = Int((Rnd 10) + 1)
c(1) = "+": c(2) = "-": c(3) = "": c(4) = "/"
j = Int((Rnd 4) + 1)
d = c(j)
Label1Caption = a & d & b & "=" & ""
Label1Refresh
Command1Enabled = False
End Sub
Private Sub Command2_Click()
i = i + 1
If d = c(1) Then
If Text1Text = a + b Then
MsgBox "恭喜你,计算正确"
h = h + 1
Text1Text = ""
Command1Enabled = True
Label2Caption = "共" & i & "道题," & "答对" & h & "道题。"
Label2Refresh
Else
MsgBox "真遗憾,计算错误"
Text1Text = ""
Command1Enabled = True
Label2Caption = "共" & i & "道题," & "答对" & h & "道题。"
Label2Refresh
End If
ElseIf d = c(2) Then
If Text1Text = a - b Then
MsgBox "恭喜你,计算正确"
h = h + 1
Text1Text = ""
Command1Enabled = True
Label2Caption = "共" & i & "道题," & "答对" & h & "道题。"
Label2Refresh
Else
MsgBox "真遗憾,计算错误"
Text1Text = ""
Command1Enabled = True
Label2Caption = "共" & i & "道题," & "答对" & h & "道题。"
Label2Refresh
End If
ElseIf d = c(3) Then
If Text1Text = a b Then
MsgBox "恭喜你,计算正确"
h = h + 1
Text1Text = ""
Command1Enabled = True
Label2Caption = "共" & i & "道题," & "答对" & h & "道题。"
Label2Refresh
Else
MsgBox "真遗憾,计算错误"
Text1Text = ""
Command1Enabled = True
Label2Caption = "共" & i & "道题," & "答对" & h & "道题。"
Label2Refresh
End If
ElseIf d = c(4) Then
If CDbl(Text1Text) = a / b Then
MsgBox "恭喜你,计算正确"
h = h + 1
Text1Text = ""
Command1Enabled = True
Label2Caption = "共" & i & "道题," & "答对" & h & "道题。"
Label2Refresh
Else
MsgBox "真遗憾,计算错误"
Text1Text = ""
Command1Enabled = True
Label2Caption = "共" & i & "道题," & "答对" & h & "道题。"
Label2Refresh
End If
End If
End Sub
12、〖14〗 for output
〖15〗 not eof(1)
13、 16 combo1list(i)
17 Combo1additem
14、18Text1(0)
19 1
20 sum-min-max
以上就是关于编一个VB程序,30个选手,10个评委,0~10 分,去掉最高分与最低分,求平均分,并将选手成绩排名全部的内容,包括:编一个VB程序,30个选手,10个评委,0~10 分,去掉最高分与最低分,求平均分,并将选手成绩排名、用VB设计个竞赛评分系统,该系统能显示评委分数,去掉最高分最低分,最后输出选手的平均得分、VB编程:设计一个体 *** 评分程序, 20 位评委,除去一个最高分和一个最低分,计算平均分等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)