VB小程序:生成十个不重复的随机数
我们通过随机数函数Rnd结合for循环嵌套来实现生成十个不重复的随机数,代码如下:
Option Explicit
Private Sub Form_Click() Randomize ’初始化随机数发生器 For i = 0 To 9 ’外循环,用来生成十个随机数和将满足条件的这是个随机数由If条件判断后输出 Temp = Int(Rnd() * 100 + 1) ‘生成一个随机数存放在Temp中 i = i - 1 ‘如果重复,则通过将循环变量减一来退回到上一个循环
End Sub
这个代码总体的简要思想就是:
以上代码和注释是自己的理解,如果有什么错误或是有需要改进的地方,大家不妨提出来。
PS:这里还推荐一个算法,代码如下:
Option Explicit
Dim a(9) As Integer,j As Integer
Private Sub Form_Click()
For i = 0 To 9
a(i) = Int(Rnd() * 100 + 1)
For j = 0 To i - 1 If a(i) = a(j) Then i = i - 1 Exit For End If Next j Next i
For j = 0 To 9
If j = 9 Then
Print a(j) & Chr(13) & Chr(10) Else Print a(j) & " "; End If
Next j
End Sub
这个代码是直接把生成的随机数存进数组,然后再比较已经存在于数组中的每一个元素,判断有无相同的;
而上一个算法是产生一个数,判断是否与数组里的元素存在重复现象,再将这个数存入数组。
大家多交流!
13/02/18 19:32 于机房 40号
欢迎访问我的博客:http://151451325.blog.163.com/http://blog.sina.com.cn/tonyliuchen (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |