c語言隨機數rand()筆記

2021-06-26 03:24:58 字數 1376 閱讀 4404

標準庫 中  

int rand(void)函式是真正的隨機數生成函式,但是每次用rand()需要用srand設定的種子來產生隨機數。如果你不呼叫srand,系統會在rand之前自動加乙個srand(1),但是這樣一來種子就是固定的了,隨機數也是固定的,所以rand()也稱偽隨機數。

為了達到真正的隨機,那麼關鍵害的是srand這個函式,所以為了每次srand()引數都不一樣,我們通常用time庫的東西來做引數 time_t time(0):time_t 被定義為長整形,返回從2023年1月1日到現在的時間用秒表示。引數一般為:

(unsigned)time(0)或者(unsigned)time(null)後面乘上某個合適的整數。 例如,srand((unsigned)time(null)*10)

rand()返回0到rand_max的值,

rand_max是標準庫定義的字元常量,不同編譯器不同,最小32767,最大

2147483647。如果你想得到a到b的值,

通常都是用rand()%(b - a + 1) + a.如果是10到20,rand()/11,得到0~10,再加上10就正好啦

好到這就差不多理解了原理,下面是具體實現: 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#include //時間的標頭檔案

#include //srand()標頭檔案

#include

voidmain()

}

下面是time函式的簡介。

函式名稱: 

time

函式原型: 

time_t time(time_t *timer)

函式功能: 

得到機器的日曆時間或者設定日曆時間

函式返回: 

機器日曆時間

引數說明: 

timer=null時得到機器日曆時間,timer=時間數值時,用於設定日曆時間,time_t是乙個long型別

所屬檔案: 

#include 

#include 

#include 

int main()

C語言rand 函式產生隨機數

include include int main 產生1 6之間的隨機數 執行結果 函式一 int rand void 返回乙個 0,rand max 間的隨機整數。函式二 void srand unsigned seed 引數seed是srand 的種子,用來初始化srand 的起始值。系統在呼叫...

c 隨機數函式rand

c語言中rand 函式生成隨機數的用法 詳細介紹 1 使用該函式首先應在開頭包含標頭檔案stdlib.h include c 建議使用 include,下同 2 在標準的c庫中函式rand 可以生成0 rand max之間的乙個隨機數,其中rand max 是stdlib.h 中定義的乙個整數,它與...

C語言使用rand函式生成隨機數

目錄 生成隨機數使用rand 函式 int rand void 標頭檔案目前該 隨機數 貌似成功生成 大家有木有發現其實這三次的執行結果生成的隨機數其實是一樣的,沒錯,我說的就是三次,第一次是程式設計客棧41 18467 6334 26500 19169 15724 11478 29358 2696...