为什么vb的随机数都是一样啊
为什么我用光盘上的vb程序可以得到真正的随机数,每次都不一样,但是我自己编写的随机数程序,得出的随机数都一样,即之一次运行时,随机数是个2,关了从新运行,这个随机数还是2,并且不会变谢谢
出现这种现象的原因是程序没有用不同的随机数种子来初始化随机数发生器。
如果使用Rnd()函数前没有用不同的随机数种子来初始化随机数发生器,那么同一个程序,在多次运行时,所产生的随机数序列是相同的。
只要使用Randomize语句后,就能保证每次运行所产生的随机数序列是不同的了。以下的程序可以保证每次运行所得的随机数是不同的:
Private Sub Command1_Click()
Dim x As Integer
Randomize
For i = 1 To 100
x = Rnd() * 101
Print Format(x, "@@@@");
If i Mod 20 = 0 Then Print
Next i
End Sub
vb随机数怎么用
随机数函数 rnd 返回值范围:[0,1),可能返回0但不会是1,注意这是个小数。如果要取10以内的随机数(整数),只要这样:
a = CInt(rnd*10)
如果需要10-50的随机数(整数),可以这样:
a =CInt( rnd*40+10) '即 rnd * 取值跨度(50-10=40)+取值下限(10)
为了每次运行获取不同的随机数序列,在产生随机数前调用一下
randomize time '用当前时间做随机数种子
下面分享相关内容的知识扩展:
vb6.0中随机生成三个数的程序编码
1 2 3 4 5 6 7 8 9 10 | 某个范围内的随机整数,可使用以下公式: Int((upperbound - lowerbound + 1) * Rnd + lowerbound) 这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。 注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。 你要的就是: Int((999 - 100+ 1) * Rnd + 100) 简化了就跟2L一样 Int((900 * Rnd + 100) |
vb随机产生10个两位数,并找出更大数和最小数,显示出来
Private Sub Form_Click()
Randomize() '初始化随机数生成器,产生不重复的伪随机数。
Dim a(9) As Integer, max As Integer, min As Integer
max = 0
min = 99
For i = 0 To 9
a(i) = Int(Rnd() * 89 + 10) ' 产生10-99的10个两位随机数
If a(i) >= max Then max = a(i) '比较求更大值
If a(i) <= min Then min = a(i) '比较求最小值
Print a(i); '输出产生的10个两位随机数
Next i
Print("max=" & max) '输出更大值
Print("min=" & min) '输出最小值
End Sub
Randomize() '初始化随机数生成器,产生不重复的伪随机数。
Dim a(9) As Integer, max As Integer, min As Integer
max = 0
min = 99
For i = 0 To 9
a(i) = Int(Rnd() * 89 + 10) ' 产生10-99的10个两位随机数
If a(i) >= max Then max = a(i) '比较求更大值
If a(i) <= min Then min = a(i) '比较求最小值
Print a(i); '输出产生的10个两位随机数
Next i
Print("max=" & max) '输出更大值
Print("min=" & min) '输出最小值
End Sub
vb实验 随机数中求奇偶数和素数并进行排序
实验报告一、实验目的
学会综合运用三种基本控制结构、数组和过程进行程序设计的 *** 。
二、实验内容
随机产生n个(20≤n≤100)两位整数,找出其中的奇数、偶数和素数,并将奇数按升序排序,将偶数按降序排序,将素数求和。
三、实验要求
1.将随机产生的n个整数存入一维数组中,按每行10个数输出到窗体上。
2.将找出的奇数和偶数分别存入2个一维动态数组中。用Sub过程分别对奇数和偶数进行排序,奇数用选择法排序,偶数用冒泡法排序,然后在调用过程内,将排好序的奇数和偶数按每行10个数分别输出到图片框和标签中。
3.用Function过程判断随机整数是否为素数。在调用过程内,将找出的素数(按每行10个数)及求和结果输出到文本框中。
4.Sub过程和Function过程均建立在标准模块中。
5.界面可参照如图所示的运行结果进行设计,要求在窗体上添加的各个控件布局合理、大小适中。对象属性的设置要求用表格填写,包括对象名、属性名、属性值和说明(可参照前面章节的实验内容)。
6.程序运行后,若在输入对话框中输入随机产生的整数个数n为50,单击“产生随机整数”命令按钮,则在窗体上输出50个随机整数;单击“找奇偶数并排序”命令按钮,则分别在图片框和标签中输出排好序的奇数和偶数;单击“找素数并求和”命令按钮,则在文本框和顺序文件中输出素数和素数的和;单击“结束”命令按钮,结束程序的运行。运行结果如图所示。
7.实验报告主要包括实验目的、实验内容、实验要求、界面设计(包括各对象及其属性设置)、源程序代码、运行结果(要求截图)、实验中存在的问题、体会和思考等内容
很抱歉,回答者上传的附件已失效
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。