當前位置:編程學習大全網 - 編程語言 - VB編程題:編寫壹個產生1 至100之間的隨機整數的Function 過程

VB編程題:編寫壹個產生1 至100之間的隨機整數的Function 過程

Rnd函數產生的是0和1之間的隨機數,範圍是[0,1),包括0,但不包括1。

因此要產生1~100之間的隨機數,可以使用Rnd*98,產生的是[0,98)的隨機數,而int(Rnd*98)產生的是[0,97]之間的隨機整數,那麽int(Rnd*98)+2產生的就是[2,99]之間的隨機整數了,符合目標1到100之間的隨機數目的。

函數代碼如下:

Public?Function?sj()?As?Integer

Randomize

sj?=?Int(Rnd?*?98)?+?2

End?Function

擴展資料:

語法:

Rnd[(number)]

如果 number 的值是 Randomize 生成

小於 0 ,每次都使用 number 作為隨機數種子得到的相同結果。

大於 0 ,以上壹個隨機數為種子產生下壹個隨機數。

等於 0 ,產生與最近生成的隨機數相同的隨機數。

省略, 以上壹個隨機數為種子產生下壹個隨機數。

說明:

Rnd 函數返回小於 1 但大於或等於 0 的值。

number 的值決定了 Rnd 生成隨機數的方式。

對最初給定的種子都會生成相同的數列,因為每壹次調用 Rnd 函數都用數列中的前壹個數作為下壹個數的種子。

在調用 Rnd 之前,先使用無參數的?Randomize語句初始化隨機數生成器(若帶參數,則產生由參數對應的壹個特定序列的隨機數),該生成器具有根據系統計時器得到的種子。

為了生成某個範圍內的隨機整數,可使用以下公式:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

這裏,upperbound 是隨機數範圍的上限,而 lowerbound 則是隨機數範圍的下限。

註意 若想得到重復的隨機數序列,在使用具有數值參數的 Randomize 之前直接調用具有負參數值的 Rnd。使用具有同樣 number 值的 Randomize 是不會得到重復的隨機數序列的。

參考資料:

百度百科——rnd(隨機函數)

  • 上一篇:C#從零開始 (壹) C#的前生今世
  • 下一篇:如何設置帶有"any"或"pointer"數據類型的功能塊
  • copyright 2024編程學習大全網