运行效果:

VB编程:利用数组随机抽取幸运观众-32_彭世瑜_新浪博客_算法


程序代码:

Private Sub Command1_Click()

    Dim myarray() As String

    Dim myrows

    With Text1

        myarray = Split(.Text, vbCrLf)

        myrows = UBound(myarray)

        Randomize

        Text2.Text = Text2.Text & vbCrLf & myarray(Int(Rnd * myrows + 1))

    End With

End Sub

Private Sub Form_Load()

    Text1.Text = "请输入抽奖名单:" & vbCrLf & _

                 "张飞" & vbCrLf & _

                 "关与" & vbCrLf & _

                 "六倍" & vbCrLf & _

                 "诸葛" & vbCrLf & _

                 "曹操" & vbCrLf & _

                 "孙权"

    Text2.Text = "幸运观众:"

End Sub


学习心得:

     1、Rnd 函数返回小于 1 但大于或等于 0 的值。即Rnd取值 [0,1)。

     2、Randomize 语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。

     3、为了生成某个范围内的随机整数,可使用以下公式:

            Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

      这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。

      取值为:[lowerbound,upperbound]