易语言取多个不重复的五位数的随机数?

2024年11月27日 21:47
有2个网友回答
网友(1):

.版本 2


.程序集 窗口程序集1

.程序集变量 文本1, 文本型

.程序集变量 文本2, 文本型

.程序集变量 变量, 整数型

.程序集变量 计次, 整数型

.程序集变量 计数, 整数型

.程序集变量 随机, 文本型

.程序集变量 数组, 整数型, , "0"

.程序集变量 个数, 整数型


.子程序 __启动窗口_创建完毕


编辑框1.是否允许多行 = 真

编辑框1.滚动条 = 2

置随机数种子 ()


.子程序 _按钮1_被单击


编辑框1.内容 = “”

个数 = 到整数 (编辑框2.内容)

.计次循环首 (个数, 变量)

    取数 ()

    加入成员 (数组, 到整数 (随机))

.计次循环尾 ()

数组排序 (数组, )

.计次循环首 (个数, 变量)

    文本1 = 到文本 (数组 [变量])

    .如果真 (取文本长度 (文本1) = 4)

        文本1 = “0” + 文本1

    .如果真结束

    编辑框1.加入文本 (文本1, “  ”)

.计次循环尾 ()


.子程序 取数


随机 = 到文本 (取随机数 (1234, 98765))

.如果真 (取文本长度 (随机) = 4)

    随机 = “0” + 随机

.如果真结束

.计次循环首 (5, 计次)

    文本1 = 取文本中间 (随机, 计次, 1)

    .变量循环首 (计次 + 1, 5, 1, 计数)

        文本2 = 取文本中间 (随机, 计数, 1)

        .如果真 (文本1 = 文本2)

            计数 = -1

            跳出循环 ()

        .如果真结束


    .变量循环尾 ()

    .如果真 (计数 = -1)

        跳出循环 ()

    .如果真结束


.计次循环尾 ()

.如果真 (计数 = -1)

    取数 ()

.如果真结束

网友(2):

既然叫随机数,就是随机出的,肯定有重复。
要想不重复,那还不如用计次循环累计出不重复的数了,真搞不懂你是怎么想的。