VB 随机数生成问题 紧急

发布于 社会 2024-07-23
14个回答
  1. 匿名用户2024-01-31

    for n = 0 to 155

    a = int(rnd * 25)

    b = int(rnd * 25)

    c = y(a): y(a) = y(b): y(b) = c

    next 1.你说的是随机数的范围(1-n)。如果要实现任何 n 值,只需将此处的 25 更改为所需的 n 值即可。 RND 生成一个介于 0-1 之间的随机数。 使用 rnd*25 时,该值介于 0 和 25 之间。

    2.你说出现n次关闭。 这里的 n 是 155,这里的数组执行任意两个值交换 156 次。

    所以你的**会这样做:

    const maxvalue = 25 '范围 n 的定义可以更改为任何值。

    const maxcount = 155 '交换次数 n 的定义可以更改为任何值。

    dim y() as integer

    redim y(0 to (maxvalue-1)) as integer

    dim p as integer

    sub form_load()

    dim n as integer, a as integer, b as integer, c as integer

    p=0 for n = 0 to maxvalue-1

    y(n) = n

    next for n = 0 to maxcount

    a = int(rnd * maxvalue)

    b = int(rnd * maxvalue)

    c = y(a): y(a) = y(b): y(b) = c

    next end sub

    sub com1_click()

    msgbox y(p)

    p=p+1if p>ubound(y) then end

    end sub

  2. 匿名用户2024-01-30

    不太明白你需要做什么,但对于你提到的两个:

    1.如果控制随机数在 1 n 的范围内:它应该是:int(rnd * n) +1

    2.在程序发生 n 次或发生 n 次时关闭程序?

  3. 匿名用户2024-01-29

    只需保存一个数字并使用它来创建对象??? 但是你所有的数字都可以在一个班级中...... 很简单,你的 n 总是有上限的,它不可能是无限的,然后你定义一个数组,数组的长度就是上限(当然,你可以使用动态数组)。

    生成随机数的方法还是使用随机数函数,但是要生成类似于图纸的随机数,那么每次都必须将随机数的数量与前面的随机数进行比较,如果直接丢弃,重新绘制,则一种方法是一样的,但是这个方法以后会运行很多次, 还有一种方法是每次抽取,随机范围为-1,然后下一个随机数找出所有小于或等于这个数字但已经抽到的数字。然后用这个数字把这个数字加起来(相当于在支票的号码中已经抽出的数字被隔开,也就是抽奖箱里没有号码),加完之后,看看有没有和这个号码开的号码一样,如果没有号码就是这个号码, 如果有 +1,然后 than 直到 no,则此方法对每个随机数随机一次,并且其方法之一随机到最后一个

  4. 匿名用户2024-01-28

    1. 数组 a(1) 到 a(n) 被分配从 1 到 n 的初始值

    2. 使用随机化使 x=n

    3. 生成 1. x 之间的随机整数,交换 a(x) 和 a(n),其中 x 减去 1。

    4. 如果 x>1,则转到第 3 步,否则算法结束。

  5. 匿名用户2024-01-27

    x 基数 = 33

    x 倍数 = 126-33

    randomize

    rrandom = rnd(1)。

    y 目标 1 = r 随机 * x 倍数 + x 基数。

    Y 目标 2$ = CHR(y 目标 1)。

    如果不是 y,则目标 2 ="z" then'连接到文本1

    目标 2end 如果

    第一个完成了''需要调试。

  6. 匿名用户2024-01-26

    相信这就是你想要的结果,随机数范围是1-20,你可以设置它,一组返回7个数字,你也可以设置它,最后给你加一个升序排序,如果可以的话,你可以给它打更高的分。 (*

    option base 1 '定义以 1 开头的数组下标。

    private sub command1_click()

    dim i as integer, j as integer

    dim num_array as string

    dim str as string

    for i = 1 to 5 '输出 5 组。

    num_array = rand_num(20, 7)

    str = "部分" & i & "群:" & num_array

    print str

    nextend sub

    function rand_num(max as integer, count as integer) as string

    max 是随机数的最大范围,count 是组中生成的数字数。

    dim i as integer, j as integer, k as integer, t as integer, rand as integer

    redim sum(max) as integer

    dim str as string

    dim min as integer

    randomize

    if max < count then max = count

    for i = 1 to max '为数组总和赋值

    sum(i) = i

    nextfor j = max to 2 step -1 '打乱 sum 数组中数字的顺序。

    rand = int(rnd * j - 1)) 1

    t = sum(j): sum(j) = sum(rand): sum(rand) = t

    nextmin = sum(1)

    for i = 1 to count - 1 '在此示例中,前七个数字按升序排序。

    for j = i + 1 to count

    if sum(i) >sum(j) then t = sum(i): sum(i) = sum(j): sum(j) = t

    nextnext

    for k = 1 to count '取出排序后的结果并将它们一起返回。

    str = str & sum(k) &" "

    nextrand_num = str

    end function

  7. 匿名用户2024-01-25

    还没调试,试试这一段**:

    添加标签1

    dim a1 as integer,a2 as integer,a3 as integer,a4 as integer,a5 as integer,a6 as integer,a7 as integer

    dim mystr as string

    for a1=1 to 14

    for a2=a1+1 to 15

    for a3=a2+1 to 16

    for a4=a3+1 to 17

    for a5=a4+1 to 18

    for a6=a5+1 to 19

    for a7=a6+1 to 20

    doevent

    mystr=format(a1,"00 ") &format(a2,"00 ") &format(a3,"00 ") &format(a4,"00 ") &format(a5,"00 ") &format(a6,"00 ") &format(a7,"00 ")

    mystrnext

    nextnext

    nextnext

    nextnext

  8. 匿名用户2024-01-24

    嘿,我的调试都是死的,长组数据。

  9. 匿名用户2024-01-23

    您可以创建一个数组,例如 x(i),并为每个数组元素分配要显示的数字。 首先 i=0,每次单击按钮时,将 x(i) 的值分配给文本框,文本框显示 x(i) 的值,并且 i=i+1。 例如,如果要显示 5 组数据,可以每次点击按钮判断是否达到 5,如果 =5,则 i=0

    这将使您能够满足您的要求。

  10. 匿名用户2024-01-22

    你是干什么的? 是否要在同一行上显示? 然后使用。

    拿起你想展示的内容。

    这应该可以解决问题。

  11. 匿名用户2024-01-21

    你想要的**就在这里,并且已经验证好了!!

    private sub command1_click()dim num(1 to 6) as integerdim i, j, t as integer'= 获得 6 个大于 1 且小于 33 的不同整数,因为 i = 1 到 6

    restart: t = int((33 - 1 + 1) *rnd + 1)

    for j = 1 to ubound(num)if num(j) = t then

    goto restart

    end if

    next j

    num(i) = t

    next i

    显示在标签上 = num(1)。

    num(2)

    num(3)

    num(4)

    num(5)

    num(6)

    end sub

    未来一起学习和研究!

  12. 匿名用户2024-01-20

    添加一个标签,然后选择它,复制、粘贴,当询问是否要创建控件数组时回答“是”,然后再粘贴 4 次,窗体总共有 6 个 label1。 然后写下下一个**:

    private sub command1_click()dim i as integer

    randomize

    for i = 0 to 5

    label1(i).caption = int(rnd * 33) +1

    这是 [1,33] 的范围,如果需要 (1,33),请将其更改为 int(rnd * 31) +2

    nextend sub

  13. 匿名用户2024-01-19

    总共有10个**,**上写着“0-9”,10个数字吗?

    如果是这样的话,用数组 a 10 初始化这 10 并不难。 0 对应于写有“0”的 **,依此类推。

    如果获得随机数 21,则 2 和 1 可用于相应的 **。

  14. 匿名用户2024-01-18

    使用 cstr 函数将数字转换为字符串,然后您可以使用 left 和 right 函数来获取部分(在本例中为 left 1 和right 1)。

相关回答
7个回答2024-07-23

2.光标位于文本的第一页(第4页),视图--页眉和页脚--将光标转换为页脚区域;

8个回答2024-07-23

1. 导入 Word

升降机不易打开。 >>>More

11个回答2024-07-23

建议使用 XML 来存储此信息,然后通过操作 XML 来操作此信息。

28个回答2024-07-23

任何两种低级时尚结合在一起后,如果不出天价,绝对是高级时尚,这是100%,永远不会成为低级时尚。 所以你可以放心。 但是,让我告诉你。 >>>More

8个回答2024-07-23

因为 a 是否定的意思,然后用 a 本身做或操作,所有位都会变成 1,并且所有位都是 1 有符号整数输出为 -1。 >>>More