c 獲取隨機數

2022-03-06 01:27:03 字數 1385 閱讀 5007

方法一:

使用 rand 函式可以獲取,如下。 

隨機數大小是在0到rand_max,值為2147483647,它是在stdlib中定義的,如果我們希望在某個範圍內,可以使用 % 結合 / 來實現

但是不難發現,這裡獲得的隨機數是唯一確定的,而不是變化的。所以,如果我們希望獲得變化的隨機數,可以使用下面的方法。

方法二:

既然使用rand函式無法獲取到變化的隨機數,這裡就可以使用srand來實現了。

#include#include

using

namespace

std;

intmain()

這裡,我們需要引入ctime庫,其中time(0)是獲取從2023年開始的時間(單位:s),然後再獲取rand(),這時的rand就是隨機變化得了。 如下:

但這裡獲取的值是不確定的,而如果我們希望獲得在某一範圍內的值呢,也很簡單,如下所示:

#include#include

using

namespace

std;

intmain()

如上,使用求餘數的方法,我們可以獲得0 - 100之間的值。

而如果我們希望得到0 -  1之間的數呢? 如下所示:

#include#include

using

namespace

std;

intmain()

而我們希望得到-1 到 1 之間的數呢?

#include#include

using

namespace

std;

intmain()

上面的程式雖然可以得到正隨機數和負隨機數,但是是交替出現的,還是不夠隨機,所以我們可以採用下面的方式:

#include#include

using

namespace

std;

intmain()

else

else

}return0;

}

這樣,我們就可以得到真正的隨機數了,後面使用 a == -0.0 判斷是為了防止輸出 -0 的情況。 最終結果如下:

C 獲取隨機數

這篇文章主要介紹了c 中獲取 生成隨機數的三種方法,本文講解了random 類生成法 guid 類生成法以及rngcryptoserviceprovider 類生成法,需要的朋友可以參考下 隨機數的定義為 產生的所有數字毫無關係.在實際應用中很多地方會用到隨機數,比如需要生成唯一的訂單號.在c 中獲...

獲取隨機數

c 中提供了隨機數函式rand 但是這個函式其實提供的數字是有限的,大概是0 32767,所以這就導致了兩個問題 1 獲取的的數字並不是隨機的,比如要取0 99的隨機數,那麼一般就是rand 100,由於32767 100 67,所以0 67的數字獲得到的次數會比68 99多一次。2 無法獲取到比3...

C語言獲取隨機數

可能大家在程式設計的時候需要電腦來獲取一些隨機的反應,這個時候我們可以使用隨機數,比較常見的是 rand 函式,它可以隨機的產生 0 rand max 的隨機數。rand max 是乙個很大的數字,具體關係到ide和資料型別,我們一般的需要不可能超出它的範圍。下面是乙個例項 include incl...