VB基础,随机数

9527007. 2019-04-12 05:45:26
随机生成10个能被3整除而不能被5整除的三位整数
...全文
185 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
9527007. 2019-04-14
  • 打赏
  • 举报
回复
引用 13 楼 milaoshu1020的回复:
按'ctrl+G'可以调出立即窗口.
嗯嗯,谢谢你,我知道了
milaoshu1020 2019-04-14
  • 打赏
  • 举报
回复
按'ctrl+G'可以调出立即窗口.
milaoshu1020 2019-04-13
  • 打赏
  • 举报
回复
你是在哪里输的代码?是主窗体中输入的吗?
milaoshu1020 2019-04-13
  • 打赏
  • 举报
回复
立即窗口没有数据?
9527007. 2019-04-13
  • 打赏
  • 举报
回复
是VB6.0太落后了吗?还是不行啊
milaoshu1020 2019-04-13
  • 打赏
  • 举报
回复
代码如下:

Option Explicit

Private Sub Form_Load()
Dim colNumbers As New Collection

Dim i As Integer
For i = 100 To 999
If i Mod 3 = 0 And i Mod 5 <> 0 Then
colNumbers.Add i
End If
Next

For i = 1 To 10
Randomize

Dim j As Integer
j = Int(Rnd * colNumbers.Count) + 1

Debug.Print colNumbers(j)
colNumbers.Remove j
Next
End Sub

运行示例:

下载地址:
链接:https://pan.baidu.com/s/1lkvgL7tx0xu3gAMg5bhcAA
提取码:hvid
9527007. 2019-04-13
  • 打赏
  • 举报
回复
好的,麻烦你了,谢谢啦
舉杯邀明月 2019-04-13
  • 打赏
  • 举报
回复
引用 9 楼 qq_44815320 的回复:
我的水平确实低,但是照着那个代码输,还是不行啊,我的意思是那个代码是不是在VB6.0上不行

他们给你的代码,输出结果在“立即窗口”中。
你要打开立即窗口,才能看到输出的数据。
(不知道你是否又明白VB6的“立即窗口”是什么吗…………)

如果不知道,问一下你的老师或同学。
还有,运行VB6,新建一个“标准EXE工程”后,窗口中画个按钮,
在窗体代码窗口中粘贴上1楼的代码,
然后把第26行的 Debug.Print 改成 me.print
运行程序,点一下那个按钮,就看到结果了。

milaoshu1020 2019-04-13
  • 打赏
  • 举报
回复
你要是不会,可以下载代码,运行VB工程啊.
我发的第一个回复有下载地址啊,你找找.
9527007. 2019-04-13
  • 打赏
  • 举报
回复
我的水平确实低,但是照着那个代码输,还是不行啊,我的意思是那个代码是不是在VB6.0上不行
9527007. 2019-04-13
  • 打赏
  • 举报
回复
引用 6 楼 milaoshu1020的回复:
你是在哪里输的代码?是主窗体中输入的吗?
是啊,输过去就什么都没有😭
舉杯邀明月 2019-04-13
  • 打赏
  • 举报
回复
引用 4 楼 qq_44815320 的回复:
是VB6.0太落后了吗?还是不行啊

“落后”的不是编程语言,而是人的水平…………
9527007. 2019-04-12
  • 打赏
  • 举报
回复
大佬,我照着这个弄不行啊,一直输不出来
脆皮大雪糕 2019-04-12
  • 打赏
  • 举报
回复

Option Explicit

Private Sub Command1_Click()
    Dim aryResult(9) As Long
    Dim aryCount As Long
    Dim lngTmp As Long
    Dim blnExists As Boolean
    Dim i As Integer
    Do
        lngTmp = 100 + Rnd(Now()) * 900 '随机三位数
        If lngTmp / 3 <> lngTmp \ 3 And lngTmp / 5 <> lngTmp \ 5 Then '既不为3整除也不为5整除
            blnExists = False
            For i = LBound(aryResult) To UBound(aryResult) '判断是否已经存在的答案
                If aryResult(i) = lngTmp Then
                    blnExists = True
                End If
            Next
            If Not blnExists Then '如果不是重复结果那么记录该结果
                aryResult(aryCount) = lngTmp
                aryCount = aryCount + 1
            End If
        End If
    Loop While aryCount < 10 '当结果够10个的时候退出
    
    For i = LBound(aryResult) To UBound(aryResult) '输出结果
        Debug.Print aryResult(i)
    Next
End Sub

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧