请问vb随机生成一个有20个互不相同一百以内的数的数组怎么写代码啊,ww救命啊? VB随机生成20个1-100之间的随机数,点一下按钮打印一个...

\u8bf7\u95eevb\u600e\u6837\u968f\u673a\u751f\u6210\u4e00\u4e2a\u670920\u4e2a\u4e92\u4e0d\u76f8\u540c\u7684\u4e00\u767e\u4ee5\u5185\u7684\u6570\u7ec4\u554a\uff0cww\uff1f

dim a(1 to 20) as integer, i as integer, j as integer, k as integer,x as integer;
for i=1 to 20
k=0
while k=0
x=int(rnd()*20+1)
k=1
for j=1 to i-1
if a(j)=x then k=0

next j

wend

a(i)=x

next i

Dim A(20) As Integer, j As IntegerPrivate Sub Command1_Click()Dim i As Integer, st As StringDim max As Integer, min As Integer, maxp As Integer, minp As IntegerFor i = 1 To 20A(i) = Int(100 * Rnd) + 1st = st & Str(A(i))If i Mod 10 = 0 Then st = st & vbCrLfNext iText1 = stj = 0End SubPrivate Sub Command2_Click()j = j + 1If j > 20 Then j = 1MsgBox A(j)End Sub

Sub scsz()'生成不重复随机数
Dim i, j, k, m, n, r, c, d As Integer
Dim b As Boolean
Dim ra() As Integer
Dim raa() As Integer
m = Range("a1")
n = Range("b1")
ReDim ra(n - 1)
ReDim raa(n - 1)
r = Int(Rnd() * m)
ra(c) = r
raa(c) = r
c = c + 1
For i = 1 To (n - 1)
r = Int(Rnd() * (m - i))
b = True
For j = 0 To (i - 1)
If ra(j) <= r Then
r = r + 1
Else
For k = j To (i - 1)
ra(i + j - k) = ra(i + j - k - 1)
Next k
ra(j) = r
raa(c) = r
c = c + 1
b = False
Exit For
End If
Next j
If b Then
ra(c) = r
raa(c) = r
c = c + 1
End If
Next i
d = 1
For Each e In raa
Range("c" & d) = e
d = d + 1
Next

End Sub
这是写在EXCEL里的宏,在A1指定范围,B1指定个数,在C列生成数组

里面变量m是范围,变量n是生成个数,最后的raa数组就是结果

  • 璇烽棶vb闅忔満鐢熸垚涓涓湁20涓簰涓嶇浉鍚屼竴鐧句互鍐呯殑鏁扮殑鏁扮粍鎬庝箞鍐欎唬鐮佸晩...
    绛旓細For Each e In raa Range("c" & d) = e d = d + 1 Next End Sub 杩欐槸鍐欏湪EXCEL閲岀殑瀹忥紝鍦ˋ1鎸囧畾鑼冨洿锛孊1鎸囧畾涓暟锛屽湪C鍒楃敓鎴愭暟缁 閲岄潰鍙橀噺m鏄寖鍥达紝鍙橀噺n鏄鐢熸垚涓鏁帮紝鏈鍚庣殑raa鏁扮粍灏辨槸缁撴灉
  • vb缂栫▼ 闅忔満鐢熸垚20涓涓や綅姝f暣鏁,灏嗗叾浠庡ぇ鍒板皬鎺掑簭,鐜拌緭鍏涓涓鏁,瑕佹眰鎸...
    绛旓細Private Sub Form_Click() Dim a(20) As Integer, b(21) As Integer Dim c As Integer Dim k As Boolean Dim i As Integer, j As Integer Form1.AutoRedraw = True Print "浜х敓鐨闅忔満鏁扮粍鏄細" For i = 1 To 20 a(i) = Int(Rnd * 90 + 10) Print ...
  • vb缂栫▼ 闅忔満鐢熸垚20涓(涓や綅姝f暣鏁)瀛樻斁鍒癟ext1涓,鎵惧嚭鍏朵腑鐨勫伓鏁板苟浠ヤ笌...
    绛旓細private sub command1_click()dim a(20),b()for i=1 to 20 a(i)=int(rnd*90)+10 text1.text=text1.text & a(i) & " "if a(i) mod 2=0 then j=j+1 redim preserve b(j)b(j)=a(i)end if next for i=j to 1 step -1 text2.text=text2.text & b(j) & " "n...
  • VB缂栫▼:闅忔満浜х敓浜屽崄涓涓や綅鏁,骞朵笖瀹冪殑涓綅浜庡崄浣嶄箣鍜岃兘琚簲鏁撮櫎,灏...
    绛旓細妤间笂鐨勫洖绛斾笉閿欍傛洿姝涓涓灏忕粏鑺傦紝瑕佸姞鍙andomize锛屼笉鐒舵瘡娆$殑鐢熸垚鐨勬暟鏄竴鏍风殑銆侾rivate Sub Command1_Click() Dim i%, j% For i = 1 To 4 For j = 1 To 5 Print MakeNum; vbTab; Next Print Next iEnd Sub Function MakeNum() randomize Do MakeNum = ...
  • vb缂栫▼棰榽~闅忔満浜х敓20涓涓嶉噸澶嶇殑A~Z涔嬮棿鐨勮嫳鏂囧瓧姣,鎸夊瓧姣嶉『搴忚緭鍑,姣...
    绛旓細棣栧厛锛屽畾涔20涓鏁扮粍銆傜劧鍚庡湪杩囩▼閲屽紕涓猣or寰幆锛屾瘮濡俧or i = 1 to 20 鍒╃敤闅忔満鍑芥暟锛鐢熸垚65~90涔嬮棿鐨勫嚱鏁帮紝璧嬪煎埌鍙橀噺锛屾瘮濡 str=Int((90 - 65 + 1) * Rnd + 65)鍐嶅紕涓猣or寰幆锛屾瘮濡俧or j = 1 to i 鍒ゆ柇鏄惁閲嶅 if 鏁扮粍鍚(j)=str then call 杩囩▼ exit sub end if next 鐒跺悗缁...
  • 缂栧啓VB绋嬪簭:鐢闅忔満鍑芥暟鐢熸垚20涓鏁板,骞舵眰鍑哄叾涓殑濂囨暟鍜屼笌鍋舵暟鍜 杩...
    绛旓細Private Sub Command1_Click() Randomize (Timer) Label1.Caption = "" Label2.Caption = "" Label3.Caption = "" For i = 1 To 20 n = Int(Rnd * 9000 + 1000) Label1.Caption = Label1.Caption + CStr(n) + Space(1) If i Mod 10 = 0 Then Label1.Caption...
  • 鐢vb缂栧啓绋嬪簭 闅忔満浜х敓20涓鏁,姹傚嚭瀹冧滑鐨勬渶澶у笺佹渶灏忓笺佸钩鍧囧糭鐧惧害...
    绛旓細Option ExplicitPrivate Sub Form_click()Dim a As New Collection Form1.Cls Dim i%, b As Variant, c%, d%, e%, f c = 1 d = 0 f = 100 For i = 1 To 20 Randomize With a .Add (Int(Rnd * 100))End With Next For Each b In a If e < b Then e = b If f > ...
  • VB缂栫▼,闅忔満浜х敓20涓涓嶉噸澶嶇殑A~Z涔嬮棿鐨勮嫳鏂囧瓧姣,鎸夊瓧姣嶉『搴忚緭鍑,姣忚...
    绛旓細For i = 1 To 20 a(i) = Int(Rnd() * 26 + 1)'浜х敓20涓1-26鐨闅忔満鏁 Next For i = 1 To 20'鍐掓场鎺掑簭 For j = i To 20 If a(j) < a(i) Then b = a(i)a(i) = a(j)a(j) = b End If Next j Next i For i = 1 To 20'杈撳嚭 Print Chr(a(i) + 65),'...
  • VB闅忔満鐢熸垚20涓1-100涔嬮棿鐨勯殢鏈烘暟,鐐逛竴涓嬫寜閽墦鍗涓涓,鍏辩偣20娆℃墦鍗...
    绛旓細Dim A(20) As Integer, j As IntegerPrivate Sub Command1_Click()Dim i As Integer, st As StringDim max As Integer, min As Integer, maxp As Integer, minp As IntegerFor i = 1 To 20A(i) = Int(100 * Rnd) + 1st = st & Str(A(i))If i Mod 10 = 0 Then st = st...
  • VB 鍦↙ist1鍒楄〃妗嗕腑浜х敓20涓涓や綅闅忔満姝f暣鏁板苟鍗囧簭鎺掑垪,鎸夊簭鍔犱笂搴忓彿...
    绛旓細Private Sub Form_Load()Dim i As Integer, j As Integer, n As Integer Randomize List1.Clear For i = 0 To 19 n = Int(Rnd * 90) + 10 For j = 0 To List1.ListCount - 1 If n < List1.List(j) Then Exit For Next List1.AddItem n, j Next For i = 0 To List1....
  • 扩展阅读:免费一键生成名片 ... vb中生成不重复随机数 ... 1到20随机数生成器 ... vba生成范围随机数 ... 数字随机生成器在线 ... 扫一扫题目出答案 ... 随机转盘生成器 ... ai一键去除遮挡物app ... vb随机函数10个随机数 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网