中易网

如何用VB编写一个将数字1到8随机排序的程序?

答案:5  悬赏:10  
解决时间 2021-03-06 23:02
麻烦把设计语言完整地写一下啊!谢谢啦!

反转ing好像不对啊 我是要将1到8随机排序 不是随机生成1到8的八个数啊
貌似用数组做的 但我不会呃
最佳答案
Private Sub Command2_Click()
Dim i As Integer, j As Integer, tmp As Integer, a1(8) As Integer, flag As Integer
i = 1
Randomize
While (i <= 8)
tmp = Rnd() * 8
For j = 1 To 8
If a1(j) = tmp Then
flag = 0
Exit For
End If
flag = 1
Next
If flag = 1 Then
a1(i) = tmp
i = i + 1
End If
Wend
For i = 1 To 8
Print Str(a1(i))
Next
End Sub
全部回答
Private Sub Command1_Click() Dim myStr As String, myOutput As String, myTemp As String, a As Integer myStr = "12345678" Randomize (Timer) Do Until myStr = "" a = Int(Rnd * Len(myStr)) + 1 myTemp = Mid(myStr, a, 1) myOutput = myOutput & myTemp myStr = Replace(myStr, myTemp, "") Loop Print myOutput End Sub
dim a as integer a=int(rnd*50)+1 '随机产生从1到50间的数字 "中间有间隔开的"什么意思
num(1)=x1 num(2)=x2 num(3)=X3 num(4)=X4 num(5)=X5 num(6)=x6 num(7)=x4 num(8)=x8 for i=1 to 7 for j=i+1 to 7 if num(i)
  • 4楼网友:一个很哇塞的汉子
  • 2021-03-06 09:30
添加一个按钮Command1 然后添加如下代码,运行后点击按钮就出来了。我相信你很容易理解这代码。 Private Sub Command1_Click() Dim i As Integer, s As String For i = 1 To 8 Randomize ’初始化随机数发生器 s = s & Int(Rnd * 8) + 1 & "," Next i Print s End Sub 兄弟,不好意思,我理解错了。给你补上。是要数组,代码如下 Private Sub Command1_Click() Me.Cls Dim i, j As Integer, S(1 To 8) As Integer '声名 Randomize '初始化随机数 i = 1 Do While (i <= 8) '这是Do循环,循环条件是i<=8 bo = False S(i) = Int(Rnd * 8 + 1) '随机从8个数中取一个数,可能会取到重复的。 For j = 1 To i - 1 '检查先前有没有重复的 If S(j) = S(i) Then '找到重复的数,则跳到A位置 GoTo A '跳到A位置 End If Next j Print S(i) '如果上面一直没找到重复的数,则会执行打印 i = i + 1 A: Loop End Sub
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯