为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

[指南]vb 随便率性随机数介绍

2017-10-26 5页 doc 17KB 4阅读

用户头像

is_279425

暂无简介

举报
[指南]vb 随便率性随机数介绍[指南]vb 随便率性随机数介绍 VB 任意随机数介绍 '思路 Randomize '初始化随机数生成器 Print Int(Rnd() * 2) '生成随机数范围是0-1 '如果要生成1-10之间的随机数: '可以看作随机数的的起始数是:1,范围是1+(0~9) 'Int(Rnd() * 10) 生成0-9之间的数,再加上起始数1,所以 Print Int(Rnd() * 10) +1 '如果要生成10,30之间的随机数: '可以看作随机数的起始数是:10,范围是10+(0~20) 'int(Rnd() * 21...
[指南]vb 随便率性随机数介绍
[指南]vb 随便率性随机数介绍 VB 任意随机数介绍 '思路 Randomize '初始化随机数生成器 Print Int(Rnd() * 2) '生成随机数范围是0-1 '如果要生成1-10之间的随机数: '可以看作随机数的的起始数是:1,范围是1+(0~9) 'Int(Rnd() * 10) 生成0-9之间的数,再加上起始数1,所以 Print Int(Rnd() * 10) +1 '如果要生成10,30之间的随机数: '可以看作随机数的起始数是:10,范围是10+(0~20) 'int(Rnd() * 21)生成0-20之间的随机数,再加上起始数10,所以 Print Int(Rnd() * 20+1) +10 '如果要生成N,M之间的随机数 '可以看作随机数的起始数是:N,范围是10+(0~M-N) 'int(Rnd() * (M-N+1))生成0-(M-N)之间的随机数,再加上起始数N,所以 Print Int(Rnd() * (M-N+1)) +N 函数正文: '---------------------------------------------------------- ---------------------------- '任意随机数(N-M)的函数(单取、多取存入数组、排序等功能) '----------------------------------------------2008-4-11 '-----------------------------------by 鞠勇鸿 '对于本函数有改进,如果您方便请发邮件致:jyh_jack@163.com '---------------------------------------------------------- ---------------------------- Function getRnd(N, M As Integer) As Integer '取N-M之间的随 机数,M>=N getRnd = Int(Rnd() * (M - N + 1)) + N End Function Function getArrRndNR(Counter As Integer, N, M As Integer) As Integer() '取Counter个N-M之间的随机数(不重复) If (Counter > (M - N + 1)) Then MsgBox "随机数设置不正确" Exit Function End If ReDim arr(1 To Counter) As Integer i = 0 Do While i < Counter arr(i + 1) = getRnd(N, M) found = False For X = 1 To i If arr(X) = arr(i + 1) Then found = True Exit For End If Next If Not found Then i = i + 1 End If Loop getArrRndNR = arr End Function Function getArrRnd(Counter As Integer, N, M As Integer) As Integer() '取Counter个N-M之间的随机数(可重复) If (Counter > (M - N + 1)) Then MsgBox "随机数设置不正确" Exit Function End If ReDim arr(1 To Counter) As Integer For i = 1 To Counter arr(i) = getRnd(N, M) Next getArrRnd = arr End Function Sub OrderNumberD(arr) '从大到小排序 For i = LBound(arr) To UBound(arr) For j = LBound(arr) To UBound(arr) If arr(i) > arr(j) Then X = arr(i) arr(i) = arr(j) arr(j) = X End If Next Next End Sub Sub OrderNumberA(arr) '从小到大排序 For i = LBound(arr) To UBound(arr) For j = LBound(arr) To UBound(arr) If arr(i) < arr(j) Then X = arr(i) arr(i) = arr(j) arr(j) = X End If Next Next End Sub '---------------------------------------------------------- ---------------------------- '---------------------------------------函数结束--------------------------------------- '---------------------------------------------------------- ---------------------------- 测试: '测试 Private Sub Command1_Click() Randomize '一定要初始化随机数,否则每次打开程序取出的数都一样的。 MsgBox getRnd(1, 12), vbOKOnly, "1-12之间任取一数" arr = getArrRndNR(10, 11, 33) '取10个11-33之间不重复的随机数,存入数组arr,取重复的可以用getArrRnd函数 OrderNumberA arr '升序排列数组arr ,降序排列为OrderNumberD For i = 1 To UBound(arr) '显示 Print arr(i) Next End Sub
/
本文档为【[指南]vb 随便率性随机数介绍】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索