首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >随机化数字的特定位置

随机化数字的特定位置
EN

Stack Overflow用户
提问于 2018-05-29 07:37:19
回答 3查看 80关注 0票数 0

例如,我有数字1,9,7,4,我想随机化他们的位置,所以我会得到9,1,4,7或7,1,9,4等等。你知道怎么做吗?谢谢

EN

回答 3

Stack Overflow用户

发布于 2018-05-29 07:49:12

下面是一个基本vba随机化为一个字典对象。

代码语言:javascript
复制
Dim vals As Variant, ord As Object

Set ord = CreateObject("scripting.dictionary")

vals = Array(1, 4, 7, 9)

Do While ord.Count < (UBound(vals) + 1)
    ord.Item(vals(Application.RandBetween(LBound(vals), UBound(vals)))) = vbNullString
Loop

Debug.Print Join(ord.keys, ", ")
票数 1
EN

Stack Overflow用户

发布于 2018-05-29 08:07:14

这里有一个更简单的例子:(我希望我没有为你做作业)

代码语言:javascript
复制
Sub sub1()
  Dim i1&, i2&, iswap&, a4 As Variant
  a4 = Array(1, 9, 7, 4)
  For i1 = 0 To 3
    i2 = Int(Rnd() * 4) ' random integer 0 to 3
    iswap = a4(i1) ' swap(a4(i1), a4(i2))
    a4(i1) = a4(i2)
    a4(i2) = iswap
  Next i1
  Debug.Print a4(0); a4(1); a4(2); a4(3) ' Ctl-G to view, F7 to get back to code
End Sub
票数 1
EN

Stack Overflow用户

发布于 2018-06-04 10:55:52

您没有指定基本方言,因此以下是一些代码:

代码语言:javascript
复制
a(1) = 1 : a(2) = 4 : a(3) = 7 : a(4) = 9
FOR l = 1 TO 4
    SWAP a(l), a(INT(RND * 4 + 1))
NEXT
END
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50574537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档