资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net产生随机数 vb随机生成n个数

vb.net中产生三位正整数的随机数的程序写法

'项目:VB中产生在一定正整数范围内的不重复的随机数'作者:qq15495835Private Sub Command1_Click() Max = 100 '随机数上限值 Min = 1 '随机数下限值 Amount = 10 '产生号码数量(数量值应小于随机数上限值-随机数下限值)否则会产生死循环 ReDim a(Amount) Randomize For i = 0 To Amount a(i) = Int((Max - Min + 1) * Rnd + Min) For j = 0 To i If i j And a(i) = a(j) Then i = i - 1 Next Next Text1 = Join(a, vbCrLf)End Sub'请采纳参考!谢谢!

创新互联建站专业为企业提供遂川网站建设、遂川做网站、遂川网站设计、遂川网站制作等企业网站建设、网页设计与制作、遂川企业网站模板建站服务,10多年遂川做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

《VB.NET》中的“Randomize(x)”和“Rnd(x)”

Rnd[(number)]

number

的值决定了

Rnd

生成随机数的方式

如果

number

的值

Rnd

生成

小于

每次都使用

number

作为随机数种子得到的相同结果。

大于

序列中的下一个随机数。

等于

最近生成的数。

省略

序列中的下一个随机数。

====================

先讨论没有加randomize时

X小于0

rnd(-1)

以-1为种的随机数永远相同

X大于0

rnd(1)

系统会先生成随机数列表

有N个随机数

你每执行一次rnd(1)就获取列表中下一个随机数

比如有这么个列表

程序开始时

得到0.7055475

执行第二次rnd(1)得到0.533424

第三次0.5795186

你关闭程序重新打开

第一次得到还是0.7055475

.7055475

.533424

.5795186

.2895625

.301948

而你说的X0

X0没差别

是错的

Print

Rnd(1)

Debug.Print

Rnd(-2)

Debug.Print

Rnd(-2)

Print

Rnd(1)

结果是不一样的

X等于0

最近生成的数

一般为科学型数值

这个值也是不变的

rnd(x)

省略x不写

就和X0

效果一样

=========================

Randomize

number

Rnd

函数的随机数生成器初始化,该随机数生成器给

number

一个新的种子值。如果省略

number,则用系统计时器返回的值作为新的种子值。

如果没有使用

Randomize,则(无参数的)Rnd

函数使用第一次调用

Rnd

函数的种子值。

注意

若想得到重复的随机数序列,在使用具有数值参数的

Randomize

之前直接调用具有负参数值的

Rnd。使用具有同样

number

值的

Randomize

是不会得到重复的随机数序列的。

一般在使用rnd获取随机数

都是

randomize

int(rnd*(上限-下限+1)+下限)

这2个函数的X都是省略不写

编写一个 VB.NET 程序,产生 100 个 100 以内的随机数,将他们从大到小排序后输出

Private Sub Command1_Click()

Dim a(1 To 100) As Integer

Dim i As Integer, j As Integer, k As Integer

For i = 1 To 100 '给数组a一百个元素赋值,并换每行十个数字输出来窗体上

a(i) = Int(Rnd * 101)

k = k + 1

Print Tab((k - 1) * 5); a(i);

If k = 10 Then k = 0: Print

Next i

Print

Print

For i = 100 To 2 Step -1 '用冒泡排序法对数组进行排序

For j = 1 To i - 1

If a(j) a(j + 1) Then

t = a(j): a(j) = a(j + 1): a(j + 1) = t

End If

Next j

Next i

For i = 1 To 100 '输出排好序的数组

k = k + 1

Print Tab((k - 1) * 5); a(i);

If k = 10 Then k = 0: Print

Next i

End Sub

vb。net取随机数

取随机数可以用 Random 类。

给定10个数的话,可以把这10个数放在一个数组里,然后取0~9的范围内的随机数,用它当数组下标取数组成员即可。

vb.net产生随机数

方法名称:next();功能描述:返回一个0~2147483647之间的整数

方法名称:next(i);功能描述:返回一个0~i之间的整数

方法名称:next(i,j);功能描述:返回一个i~j之间的整数

方法名称:Nextdouble();功能描述:返回一个0~1之间的随机小数

================

使用方法:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim rand = New System.Random()

MsgBox(rand.next().ToString())

End Sub

==========================

产生N个不同数的话,我给你个我写的VB的代码,你稍微改下:

产生0-10的数:

Private Sub Command1_Click()

Randomize

Dim a(10) As Long

n = 10

For i = 0 To n

a(i) = Int(Rnd() * (n + 1))

For j = 0 To i - 1

If a(i) = a(j) Then

i = i - 1

Exit For

End If

Next

Next

For i = 0 To n

Print a(i)

Next

End Sub


名称栏目:vb.net产生随机数 vb随机生成n个数
文章位置:http://cdkjz.cn/article/hihdos.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220