各位大侠,最近想用VB编写彩票程序,需要从指定的非连续一组数里选出5个数,而且,有些数是不能一起出现的

比如2和3,7,20,31是不能重复出现的,请问高手们怎么编写啊,新注册的号,请各位见谅... 比如2和3,7,20,31是不能重复出现的,请问高手们怎么编写啊,新注册的号,请各位见谅 展开
 我来答
fafa_12184155
2011-04-22 · TA获得超过613个赞
知道小有建树答主
回答量:797
采纳率:0%
帮助的人:643万
展开全部
我以22选5为例,``同道中人,人空交流一下,,,,
for i=1 to 22
for j=i to 22
for k =j to 22
for l=k to 22
for m=l to 22
s=i & k & j & l & m
if instr(s,2)=0 then
text1=text1 & s & vbcrlf
elseif instr(s,2)>0 then
if instr(s,3)=0 then text1=text1 & s & vbcrlf
if instr(s,7)=0 then text1=text1 & s & vbcrlf
if instr(s,20)=0 then text1=text1 & s & vbcrlf

end if
next m
next l
next k
next j
next i
追问
没理解,但还是非常感谢你
追答
`````这都是最基本的啦,你想用VB做,上面的代码是必须学懂的啦```如果你看不明白,那你给我举个实例,就是给我数据,我再给你写代码加解释```给我你要求的那“非连续的一组数”
Private Sub Command1_Click()
Text1 = ""
Dim haoma(4) As Integer
haoma(0) = Int(Rnd * 35 + 1)
haoma(1) = Int(Rnd * 35 + 1)
haoma(2) = Int(Rnd * 35 + 1)
haoma(3) = Int(Rnd * 35 + 1)
haoma(4) = Int(Rnd * 35 + 1)
Do While haoma(0) = haoma(1)
haoma(1) = Int(Rnd * 35 + 1)
Loop
Do While haoma(0) = haoma(2) Or haoma(2) = haoma(1)
haoma(2) = Int(Rnd * 35 + 1)
Loop
Do While haoma(0) = haoma(3) Or haoma(1) = haoma(3) Or haoma(2) = haoma(3)
haoma(3) = Int(Rnd * 35 + 1)
Loop
Do While haoma(0) = haoma(4) Or haoma(1) = haoma(4) Or haoma(2) = haoma(4) Or haoma(3) = haoma(4)
haoma(4) = Int(Rnd * 35 + 1)
Loop
'上面的代码是随机5个不相同的数
For i = 0 To 4
If haoma(i) = 2 Then '如果有=2的话,把2 和 haoma(1)对换,使第一个数为2
haoma(i) = haoma(0)
haoma(0) = 2
For j = 1 To 4
If haoma(j) = 3 Or haoma(j) = 7 Or haoma(j) = 20 Or haoma(j) = 31 Then '同样的,如果号码里有不能出现的数出现的话,让它们互换,使第haoma(1)为不能出现的数
shu = haoma(j)
haoma(j) = haoma(1)
haoma(1) = shu
Do Until haoma(1) 3 Or haoma(1) 7 Or haoma(1) 20 Or haoma(1) 31 Or haoma(1) haoma(2) Or haoma(1) haoma(3) Or haoma(1) haoma(4) Or haoma(1) 2
haoma(1) = Int(Rnd * 35 + 1)
Loop
'do until 是指直到什么什么时结束循环,上面是说直到haoma(1)372031并且不合其它的数相同时结束循环
End If
Next j
End If
Next i
For i = 0 To 4
Text1 = Text1 & haoma(i) & " "
Next i
End Sub

'根据你的源码,新代码就这样了```但是我觉得上面的代码还是烦琐了点,可只能这样求出你要的答案了,其实你这样买还是随机的意思,和我想的不一样,,,反正有空多交流吧,啊哈``还有,刚发现前面的22选5代码错了,还好你前面不是我写的那个意思``
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式