永发信息网

关于vb中随机数的问题

答案:3  悬赏:40  手机版
解决时间 2021-05-04 15:36
  • 提问者网友:姑娘长的好罪过
  • 2021-05-03 19:35

我编了一个程序:Dim flag As Integer
Dim m(1 To 100) As Integer
Dim i As Integer
Dim p As Integer
Function f(i) As Integer
For p = 1 To i - 1
    If m(i) = m(p) Then m(i) = (Int(Rnd() * c) + b): flag = 1
    If m(i) <> m(p) Then flag = 0
Next p
If flag = 0 Then Print (m(i))
If flag = 1 Then f (i)
End Function
Private Sub Command1_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim j As Integer
Randomize
a = InputBox("您想产生几个随机数呢?")
b = InputBox("随机数范围的起点是多少呢?(能取到)")
c = InputBox("随机数范围的终点是多少呢?(能取到)")
For i = 1 To a
    flag = 0
    m(i) = (Int(Rnd() * c) + b)
    f (i)
Next i
End Sub

结果随机时即使规模较小,也会出现溢出提示,而且随机也不对(比如最小为5时会出现0),求高手指教或给出相似程序

最佳答案
  • 五星知识达人网友:走死在岁月里
  • 2021-05-03 20:15

这个是我写的,在窗体上添加一个command按钮即可,经过调试的.


Private Sub Command1_Click()
Dim i, r(), a, b, c As Integer
a = InputBox("从几开始?", "输入", 0)
b = InputBox("到几?", "输入", a + 1)
c = InputBox("你想产生几个?", "输入", 1)
ReDim r(c)
Randomize
For i = 0 To c - 1
    r(i) = Int(Rnd() * (b - a + 1) + a)
Next
For i = 0 To c - 1
Print r(i)
Next
End Sub

全部回答
  • 1楼网友:第幾種人
  • 2021-05-03 22:04

Randomize Text1.Text = Int((99999999 * Rnd) + 1)

'简单明了

  • 2楼网友:一袍清酒付
  • 2021-05-03 20:29
手机上看,全乱了!你定义的j干嘛去了?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯