vb 编程 如何利用随机函数产生15个10到90的奇数组成的数列,并显示在标签中???要程序

作者&投稿:欧阳亚 (若有异议请与网页底部的电邮联系)
vb编程利用随机函数产生15个随机整数,区间为10-90输出其中最小的三个奇数的和~

Private Sub Command1_Click()
Dim a(10 To 90) As Integer
Randomize
For i = 1 To 15
x = Int(81 * Rnd) + 10
a(x) = 1
Print x;
Next i
Print
i = 11
While a(i) = 0
i = i + 2
Wend
Print i;
s = j
For j = i + 2 To 90 Step 2
If a(j) = 1 Then
k = k + 1
s = s + j
Print "+"; j;
If k = 2 Then Exit For
End If
Next j
Print "="; s
Print
End Sub

Dim str As String = "生成的数组为" & vbCrLf, sum As Integer = 0, i, j, temp As Integer Dim a(10) As Integer For i = 1 To 10 a(i) = 2 * Int(Rnd() * 45 + 5) + 1 str = str & a(i) & " " If i Mod 5 = 0 Then str = str & vbCrLf End If Next TextBox6.Text = str运行结果:
生成的数组为73 59 63 37 37 79 11 79 83 73

写成函数, 第一参数是生成的个数,第二个参数是 最小数,第三个为最大数。返回的是以逗号分割的字符串
如 getnum(15, 10, 90)
在窗体中放一个 Label 然后,再添加放一个按钮……
生成函数如下
Function getnum(ByVal num As Integer, ByVal min As Integer, ByVal max As Integer)
Dim result, tmp As String
Dim i, n, k As Integer
k = max - min
Randomize()' 初始化随机种子
For i = 1 To num '开始循环产生不重复数字
tmp = ""
While (True) '生成数字
n = CLng(Rnd() * k + min)
If n Mod 2 = 1 Then '判断是否为奇数
tmp = CLng(n)
If InStr(result, tmp) <= 0 Then Exit While '看有没有重,有就重新生成
End If
End While
result = result & "," & n
Next
getnum = Mid(result, 2)' 去了第一个逗号
End Function

Private Sub Command1_Click()
    Randomize
    Dim A(14) As Integer
    For i = 0 To 14
        A(i) = 2
    Next i
    Label1.Caption = ""
    
    For i = 0 To 14
        Do
            A(i) = Int(Rnd * 81 + 10)
        Loop Until A(i) Mod 2 = 1
        Label1.Caption = Label1.Caption & A(i) & " "
    Next i
End Sub


Private Sub Command1_Click()
Dim i As Integer, a As Integer, n As Integer
Randomize '它让产生的随机数不相同
n = 0
Do While n < 15
a = Int(Rnd * 81 + 10)
If a Mod 2 <> 0 Then
Label1.Caption = Label1.Caption+"a"
n = n + 1
End If
Loop
End Sub

sub AAA()

Dim i As Integer, A(14) As Integer
Dim intTmp As Integer
i = 0
Do While (i < 15)
intTmp = Int(10 + Rnd * 80)
If intTmp Mod 2 = 1 Then
A(i) = intTmp
label1(i).caption=intTmp
i = i + 1
End If
Loop
end sub

Private Sub Command1_Click()

Do
a = Int(Rnd * 81 + 10)
If a Mod 2 <> 0 Then
Label1.Caption = Label1.Caption & a & ";"

n = n + 1
End If
If n = 15 Then Exit Do
Loop

End Sub


凤冈县17691225014: vb中如何利用随机函数 产生0 或1 -
弘蚁天麻: 公式是int(rnd()*2) rnd()产生的是[0,1)的数,rnd()*2产生的就是[0,2)的数.int(n)是一个截尾函数,得到一个不大于n的最大整数,int(1.999)的值是1.所以int(rnd()*2)产生的就是大于等于0,小于2的整数,即0和1.

凤冈县17691225014: VB编程随机数VB中随机产生一个 1 到 100的数的代码! 知道的说下!谢谢了!!!! -
弘蚁天麻:[答案] Int(Rnd * 100 + 1)

凤冈县17691225014: vb 随机生成1个1或2的数 -
弘蚁天麻: 你可以使用vb的以下两个函数来完成你的工作.函数:random函数得到0-1之间的随机数函数:int()取整就可以了.dim i as integeri=Int(2 * Rnd)

凤冈县17691225014: 在vb中怎样随机生成0到1之间的数包阔0和1 -
弘蚁天麻: rnd()*1.000001! 由于为rnd()函数是单精度类型,1.000001!是单精度类型里大于1的最小值.这个函数不会产生大于1的随机数,但可以产生1. 但是,VB在这种运算上会导致一个bug,使1<>1.建议你规定一下随机数的小数范围,使用Format函数对某一位小数进行四舍五入,即可实现你的要求: val(Format(rnd(),"0.0000")) '四位小数

凤冈县17691225014: vb中怎么利用随机函数让文本框数组里的字符串随机产生一项然后输出到Label1中 -
弘蚁天麻: Private Sub Command1_Click() Randomize k = Int(Rnd() * 20) label1.caption = Text(k) End Sub

凤冈县17691225014: VB 编程 利用随机函数产生任意一个随机数,利用input函数输入一个数,根据输入的数判断并输出:大了、小了、正好相同,并统计出猜了几次才猜中. -
弘蚁天麻: 代码如下:Private Sub Command1_Click() Dim k As Integer, Data As Integer, tmp As Integer If k = 0 Then Randomize Data = Int(Rnd * 100) + 1 '范围1~100 MsgBox "程序初始化成功!" & vbCrLf & "猜数范围 [1,100]", vbOKOnly, "猜数游...

凤冈县17691225014: vb利用随机函数产生100个0到9之间的整数,统计一共产生了多少个0,多少个1,统计结果 -
弘蚁天麻: 先在窗体上添加一个TextBox文本框(将其Multiline属性设置为True,并调整宽高以便能较好的显示出100个随机数)和一个Button按钮.然后双击Button按钮跳转到代码编辑窗口,粘帖以下代码就可以了.(以验证通过)'vb利用随机函数产生...

凤冈县17691225014: VB中如何在随机范围内产生1个无重复随机数 -
弘蚁天麻: http://zhidao.baidu.com/question/553333778?&oldq=1参考一下这个,VB6.0做个随机排序的软件,有代码.里面定义了一个常量Const PXSL = 50,修改这个常量,就可以用作其他...

凤冈县17691225014: 请教VB高手,在VB中随机函数怎么用? -
弘蚁天麻: 求[a,b]之间的随机数x的通式是:x=Int(Rnd*(b-a+1))+a-------------------在考试中用起来很方便------------------------例如,随机产生一个两位正整数 x=Int(Rnd*90)+10

凤冈县17691225014: vb 里怎样编写0 - 9,随机产生其中的一个数. -
弘蚁天麻: 代码及注释如下:Private Sub Command1_Click()'点击命令按钮执行程序 Randomize'初始化随机数发生器 x = Round((Rnd() * 9), 0)'先利用随机数得到0-1区间的小数,然后乘以9,在对这个数进行四舍五入后,赋值给x Print x'窗体打印x End Sub

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网