Option Explicit
Sub Main()
Dim numCount As Integer ' 自定义的数字数量
numCount = Text2.Text ' 设置为要生成的数字数量
Dim numbers() As Integer
ReDim numbers(1 To numCount)
Dim total As Integer
Dim average As Double
Dim i As Integer
' 将总和设置为900
total = Text1.Text
average = total / numCount
Randomize
' 生成 numCount-1 个随机数
For i = 1 To numCount - 1
Dim currentMin As Integer
currentMin = Int((average * 0.9) + 0.5)
Dim currentMax As Integer
currentMax = Int((average * 1.1) + 0.5)
If currentMin > total Then
currentMin = total
End If
If currentMax > total Then
currentMax = total
End If
numbers(i) = Int((currentMax - currentMin + 1) * Rnd + currentMin)
total = total - numbers(i)
Next i
' 将最后一个数字设置为剩余的总和
numbers(numCount) = total
Dim list As String
list = ""
' 输出每个数字
For i = 1 To numCount
list = numbers(i) & "," & list
Next i
Text3.Text = list
' 输出数字总和
Dim sum As Integer
For i = 1 To numCount
sum = sum + numbers(i)
Next i
' 输出数字总和是否接近900
Label1.Caption = "数字总和: " & sum
End Sub
Private Sub Command1_Click()
Call Main
End Sub
Private Sub Form_Load()
End Sub