Dim a(7)
Dim i%, max!, min!
Private Sub Command1_Click()
For i = 1 To 7
a(i) = Int(Rnd * 10) + 1
s = s + a(i)
If i = 1 Or i = 7 Then
max = a(1): min = a(7)
Else
If max < a(i) Then max = a(i)
If min > a(i) Then min = a(i)
End If
Next i
Text2.Text = (s - max - min) / 5
End Sub
VB:比赛评分程序,输入一组评分,去掉最高和最低分,求平均分。 请问下面这组程序有没有什么漏洞?
答案:2 悬赏:0
解决时间 2021-02-21 20:03
- 提问者网友:小姐请专情
- 2021-02-21 02:06
最佳答案
- 二级知识专家网友:冷眼_看世界
- 2021-02-21 02:47
你好,添加一个command1,然后复制代码:
Private Sub Command1_Click()
Dim Data(0 To 6) As Long, i As Long, max As Long, min As Long, s As Long
min = 2 ^ 30
max = -2 ^ 31
For i = 0 To 6
Data(i) = Val(InputBox("请输入数据。(" & CStr(i + 1) & "/7)", "输入"))
s = s + Data(i)
If Data(i) > max Then max = Data(i) '找最大最小
If Data(i) < min Then min = Data(i)
Next
For i = 0 To 6 '删除最大的数据中一个(针对有多个重合的最大值)
If Data(i) = max Then s = s - Data(i): Exit For
Next
For i = 0 To 6 '删除最小的数据中一个
If Data(i) = min Then s = s - Data(i): Exit For
Next
MsgBox "Average=" & s / 5
End Sub
输入完一个数按回车,接着输入第二个数.希望可以帮到你.
Private Sub Command1_Click()
Dim Data(0 To 6) As Long, i As Long, max As Long, min As Long, s As Long
min = 2 ^ 30
max = -2 ^ 31
For i = 0 To 6
Data(i) = Val(InputBox("请输入数据。(" & CStr(i + 1) & "/7)", "输入"))
s = s + Data(i)
If Data(i) > max Then max = Data(i) '找最大最小
If Data(i) < min Then min = Data(i)
Next
For i = 0 To 6 '删除最大的数据中一个(针对有多个重合的最大值)
If Data(i) = max Then s = s - Data(i): Exit For
Next
For i = 0 To 6 '删除最小的数据中一个
If Data(i) = min Then s = s - Data(i): Exit For
Next
MsgBox "Average=" & s / 5
End Sub
输入完一个数按回车,接着输入第二个数.希望可以帮到你.
全部回答
- 1楼网友:偏爱自由
- 2021-02-21 03:26
Dim a(7)
Dim i%, max!, min!
Private Sub Command1_Click()
For i = 1 To 7
a(i) = Int(Rnd * 10) + 1
s = s + a(i)
If i = 1 Then ' 在产生第一个元素时为max/min赋值即可
max = a(1): min = a(7)
Else
If max < a(i) Then max = a(i)
If min > a(i) Then min = a(i)
End If
Next i
Text2.Text = (s - max - min) / 5
End Sub
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯