亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問一下,關于vb的rnd函數的情況?如下題目所示

請問一下,關于vb的rnd函數的情況?如下題目所示

達令說 2021-07-07 10:07:05
Private Sub Form_Click()Dim a(10) As IntegerRandomizeFor i = 0 To 9a(i) = Int(21 + 50 * Rnd()) '可以拆開嗎?NextFor i = 0 To 9Print a(i);Nextb = a(i)flag = 1 '假設不重復For i = 0 To 9If a(i) = b Thenflag = 0i = i - 1Exit ForEnd IfNextIf flag = 1 ThenPrint a(i)End IfEnd Sub為毛輸出以后最后一個數是0 我改啊改啊的總有一個倆數的重復
查看完整描述

2 回答

?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

給你兩個思路
1.每生成一個數
然后利用 application.worksheetfunction.countif(range("a:a"),新生成的數) 得出有沒有重復
沒有 則 ,就填入excel的格子內,比如按A列填下來
有則不填入excel
2.定義一個字符串 比如 str
沒生成一個數,就利用 instr(1,str,"-" & 新生成的數 & "-") 判斷在str 里面有沒有存在
沒有存在就是不重復,并利用 str = str & “-” & 新生成的數& "-" 更新str
看錯 以為是excel 的問題呢
那你采用 第二個思路試試



查看完整回答
反對 回復 2021-07-11
?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

Private Sub Form_Click()
Dim a(10) As Integer
   Randomize
   For i = 0 To 9
     a(i) = Int(21 + 50 * Rnd())
     
     If i > 0 Then
       flag = 1                        '假設不重復
       For j = 0 To i - 1
         If a(i) = a(j) Then
           flag = 0
           i = i - 1
           Exit For
         End If
       Next
     End If
     If flag = 1 Then Print a(i)
   Next
End Sub


查看完整回答
反對 回復 2021-07-11
  • 2 回答
  • 0 關注
  • 472 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號