求N个1-M之间的顺序随机数(vb 或 asp通用)
2008-01-23 11:38
92 查看
Function getRnd(i As Integer) As Integer '取1-i之间的随机数一个
Randomize
getRnd = Int(Rnd() * i + 1)
End Function
Function getAllRnd(Counter As Integer, jishu As Integer) As Integer()'取Counter个1-jishu之间的随机数
If (Counter > jishu) Then
MsgBox "数字个数不能大于基数"
Exit Function
End If
ReDim arr(Counter) As Integer
i = 0
Do While i < Counter
arr(i + 1) = getRnd(jishu)
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
getAllRnd = arr
End Function
Sub OrderNumber(arr) '从小到大排序
For i = 1 To UBound(arr)
For j = i + 1 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()
arr = getAllRnd(5, 10) '取5个1-10之间的随机数
OrderNumber arr '排序
For i = 1 To UBound(arr)
Print arr(i)
Next
End Sub
Randomize
getRnd = Int(Rnd() * i + 1)
End Function
Function getAllRnd(Counter As Integer, jishu As Integer) As Integer()'取Counter个1-jishu之间的随机数
If (Counter > jishu) Then
MsgBox "数字个数不能大于基数"
Exit Function
End If
ReDim arr(Counter) As Integer
i = 0
Do While i < Counter
arr(i + 1) = getRnd(jishu)
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
getAllRnd = arr
End Function
Sub OrderNumber(arr) '从小到大排序
For i = 1 To UBound(arr)
For j = i + 1 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()
arr = getAllRnd(5, 10) '取5个1-10之间的随机数
OrderNumber arr '排序
For i = 1 To UBound(arr)
Print arr(i)
Next
End Sub
相关文章推荐
- asp.net中计算两个日期之间的相差的天数的方法(vb)
- VB 源码 产生任意数之间随机数,支持负数
- asp.net中计算两个日期之间的相差的天数的方法(vb)
- asp.net中计算两个日期之间的相差的天数的方法(vb)
- 【商业版、提供全部源码】基于RBAC的C#ASP.NET支持多用户的通用权限管理系统高质量源码10月份销售20套【提供操作手册设计文档下载】
- asp.net 2个日期之间的整月数的算法
- 枫叶SQL通用防注入 V1.0 ASP版
- ASP.NET页面事件:顺序与回传详解
- 打造通用ASP.NET数据分页控件
- 求20个0~100之间随机数中出现次数最多的随机数以及出现次数
- Asp.net_使用FileUpload控件上传文件通用方法分享
- 1.7顺序输出1到100之间所有能被7整除的整数
- asp.net里事件的触发顺序
- 面试题:给定一个函数rand()能产生1到m之间的等概率随机数,产生1到n之间等概率的随机数?
- ASP.NET类型之间的转换
- Jquery+Ajax+asp.net+sqlserver-编写的通用邮件管理(源码)
- XCLNetSearch1.0(ASP.NET通用查询服务器控件)
- ASP.NET页面事件:顺序与回传详解
- (转)ASP.NET MVC中Controller与View之间的数据传递总结
- 移动项目开发笔记(Asp.net控件之间的方法的互相调用)