每天喝多少葡萄酒最好:BV问题,高分请教!编一个小程序而已!

来源:百度文库 编辑:高考问答 时间:2024/05/14 14:30:10
随机产生10个30-100的正整数,求最大值,最小值,和平均值,并显示整个数组的值和结果

请问这程序怎么写吖~?我刚学的``请大家能给个正确的答案..谢谢!一定要测试过没错哦``

Private Sub Form_Click()
Dim a(10) As Integer
Dim Max As Integer
Dim Min As Integer
Dim Sum As Integer
Randomize Timer
Min = 100
For i = 1 To 10
a(i) = Rnd * 71 + 30
If a(i) > Max Then Max = a(i)
If a(i) < Min Then Min = a(i)
Sum = Sum + a(i)
Print a(i);
Next
Print
Print "The max number is"; Max
Print "The min number is"; Min
Print "The average is"; Sum / 10
End Sub

就用一个循环!效率的说!

Private Sub Command1_Click()

Dim nNum(10), nC, nS, nMin, nMax As Integer

Randomize ' 对随机数生成器做初始化的动作。
nS = 0
nMin = 101: nMax = 0

For nC = 0 To 9
nNum(nC) = Int((71 * Rnd) + 30) ' 生成 30 到 100 之间的随机数值。

Print nNum(nC) & " ";

nS = nS + nNum(nC)
If (nNum(nC) > nMax) Then nMax = nNum(nC)
If (nNum(nC) < nMin) Then nMin = nNum(nC)

Next

Print vbCrLf

Print "最大值为" & nMax
Print "最小值为" & nMin
Print "平均值为" & nS / 10

End Sub

用VB编的

Dim I(9) As Integer, J As Integer, Max As Integer, Min As Integer
Dim Mean As Single
Dim S As String

'各变量赋初值
Max = 30 '保证被换掉
Min = 100
Mean = 0
S = "随机数数组:"
Randomize ' 对随机数生成器做初始化的动作
For J = 0 To 9
I(J) = Rnd * 70 + 30 '产生一个30到100的随机数
If I(J) > Max Then Max = I(J)
If I(J) < Min Then Min = I(J)
Mean = Mean + I(J)
S = S & " " & I(J) '组织输出结果
Next J
Mean = Mean / 10
S = S & vbCrLf & "最大值:" & Max & " 最小值:" & Min & " 平均值:" & Mean '换行,显示其余信息
MsgBox S, vbOKOnly, "结果" '显示输出

第一个答案,又简单又好.