VB怎样 随机提取10个数中的5个数存到数组中
答案:2 悬赏:0 手机版
解决时间 2021-05-04 15:32
- 提问者网友:流星是天使的眼泪
- 2021-05-03 22:39
现在有 1 2 3 4 5 6 7 8 9 10 10个数,怎么在这些数中随机提取5个保存到数组A中,然后剩下没有提取到的数保存到数组B中。随机提取的数不能有重复。
最佳答案
- 五星知识达人网友:归鹤鸣
- 2021-05-04 00:01
Dim x(9) As Integer, a(4) As Integer, b(4) As Integer
Dim c(9) As Boolean
Dim i As Integer, n As Integer, m As Integer
For i = 1 To 10
x(i - 1) = i
Next
i = 0
Do Until i >= 5
Do
n = Int(Rnd() * 10)
Loop Until Not c(n)
c(n) = True
i = i + 1
Loop
m = 0
n = 0
For i = 0 To 9
If c(i) Then
a(m) = x(i)
m = m + 1
Else
b(n) = x(i)
n = n + 1
End If
Next
'输出看一下。
Debug.Print "a:";
For i = 0 To 4
Debug.Print a(i);
Next
Debug.Print ""
Debug.Print "b:";
For i = 0 To 4
Debug.Print b(i);
Next
全部回答
- 1楼网友:躲不过心动
- 2021-05-04 00:33
先将这10个数字放在一个数组a(10)中。然后通过随机函数的调用来随机抽取数字。每次抽取一个,若抽取到的数字已被抽取,则进行下一次抽取。这大概就是基本想法吧。
通过代码实现:
Dim a(10) As Integer '存放要抽取的数字。
Dim Fir(5) As Integer '存放抽取到的5个数字的下标,最后改为存该下标的数字。
Dim sec(5) As Integer '存放未被抽取到的5个数字的下标,后改为存数字。
'假设a数组已经赋值,这就不再多写
(手机写的,字数有限制)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯