c 隨機函式怎麼寫,C 隨機函式怎麼用

2023-02-28 13:10:07 字數 4368 閱讀 8686

1樓:匿名使用者

函式名: rand

功 能: 隨機數發生器。

用 法: int rand(void);

所在標頭檔案:

函式說明 :

rand()的內部實現是用線性同餘法做的,它不是真的隨機數,因其週期特別長,故在一定。

的範圍裡可看成是隨機的。

rand()返回一隨機數值的範圍在0至rand_max 間。rand_max的範圍最少是在32767之間(int)。用。

unsigned int 雙位元組是65535,四位元組是4294967295的整數範圍。0~rand_max每個數字被選中。

的機率是相同的。

使用者未設定隨機數種子時,系統預設的隨機數種子為1。

rand()產生的是偽隨機數字,每次執行時是相同的;若要不同,用函式srand()初始化它。

程式例:#include

using namespace std;

#include

#include

#define min 1 //隨機數產生的範圍。

#define max 10

int main()

{int i;

srand((unsigned)time(0));

cout<<"ten random numbers from "<

2樓:匿名使用者

rand()%3+1,在使用rand()前,要設定種子。

srand(time(null)),比如:

#include

#include

using namespace std;

int main()

{srand(time(null));

int i,j;

cout<<"隨機10次的結果"<

c++隨機函式怎樣編寫

3樓:網友

rand()

用法:1、rand()不需要引數,它會返回一個從0到最大隨機數的任意整數,最大隨機數的大小通常是固定的一個大整數。例如:

產生0~10的整數,可以表達為:

int n = rand() 11;

產生1~10的整數,可以表達為:

int n = 1 + rand() 11;

總結:a + rand() n

a是起始值,n是範圍。

c++ ôõã´±àð´ëæ»úêýéú³éº¯êý

c++產生隨機數的

4樓:挖土吃土

1、第一步,先定義int一個陣列和int一個指標變數。

2、接著我們選擇讓指標指向陣列的第一元素的地址。

3、接著使迴圈的條件為指標的尾地址。

4、並且因為這段**每次迴圈後指標+1。

5、最後,讓他進行輸出。

6、最後編譯執行完成後,便可以看到執行結果。

5樓:go陌小潔

具體**如下:

#include

#include

#include //用到了time函式。

int main()

return 0;

}有以下幾種情況:

(1) 如果你只要產生隨機數而不需要設定範圍的話,你只要用rand()就可以了:rand()會返回一隨機數值, 範圍在0至rand_max 間。rand_max定義在stdlib.

h, 其值為2147483647。

(2) 如果你要隨機生成一個在一定範圍的數,你可以在巨集定義中定義一個random(int number)函式,然後在main()裡面直接呼叫random()函式:

例如:rand()%100是產生0-99的隨機數。

(3)但是上面兩個例子所生成的隨機數都只能是一次性的,如果你第二次執行的時候輸出結果仍和第一次一樣。這與srand()函式有關。srand()用來設定rand()產生隨機數時的隨機數種子。

在呼叫rand()函式產生隨機數前,必須先利用srand()設好隨機數種子(seed), 如果未設隨機數種子, rand()在呼叫時會自動設隨機數種子為1。上面的兩個例子就是因為沒有設定隨機數種子,每次隨機數種子都自動設成相同值1 ,進而導致rand()所產生的隨機數值都一樣。

srand()函式定義 : void srand (unsigned int seed);

通常可以利用geypid()或time(0)的返回值來當做seed。如果你用time(0)的話,要加入標頭檔案#include

6樓:網友

#include //引入標頭檔案。

#include //引入時間標頭檔案,一般用來初始化隨即函式保證每次有個不同的隨即序列。

...1. 如果你只需要一個隨即數列,而且每次執行都產生相同的隨即數列,就不需要用到srand和time這些。

2. std::rand() 是用來產生一個0..rand_max之間的隨機整數。

3. rand_max是cstdlib標頭檔案裡面定義的隨即整數的最大值。

4. 如果需要一個比如0..1之間的數,就要用一些數學計算(比如上面例子)

5. 如果需要其它範圍的隨機數,就要設計一些類似的運算去產生。標準c++函式庫只提供產生隨即整數的std::rand()函式。

7樓:匿名使用者

rand10 = double)rand()/rand_max + 1)* 0

常量溢位,超出整數範圍。

8樓:網友

你網上搜c++產生隨機數,裡面有例子還有解釋,現在網際網路的搜尋功能這麼強大,不要浪費這麼好的資源不用啊,尤其是學計算機的,熟悉使用工具很重要的。

9樓:網友

首先需要設定時間種子:

srand((int)time(0));如果沒有這句,你程式執行了10遍,10遍得到的隨機數將會是相同的結果;

int r = rand()%x;//r便是0-x以內的隨機數。

10樓:淦海瑤

rand()這個函式就是產生隨機數的,想要一個範圍的隨機數,可以用取餘數的方式。

如取0~99之間的數,可以rand()%100

11樓:匿名使用者

#include

#include

void main()

} 雖說吧,這種偽隨機數不好,但是吧要產生簡單的幾個,用這個就行了,不過呢,你理念不對,你一開始就賦值好了,輸出肯定一樣啊。

12樓:唐博

這個rand是假隨機,所以每次的結果都一樣。

rand的值跟srand有關。

告訴你一個方法。

包含標頭檔案

在使用rand前。

呼叫srand(time(0));

就可以了。

13樓:火駒

建立一個對話方塊工程,新增個按鈕,在按鈕的單擊事件函式里新增下面**隨機生成1000個隨機數,4個數一行。

void cranddlg::onrand()"d",rand())

strline+=str+"

}if("隨機數。txt",cfile::modecreate+cfile::modewrite))}

14樓:匿名使用者

c語言中的隨機數是偽隨機,真正意義上的隨機應該是和上一狀態無關的,所以設定srand就顯得尤為重要了。

下面是linux中stdlib的實現,供參考:

static long holdrand = 1l;

void srand(unsigned int seed)int rand()

15樓:常雅靜

#include #include //這裡少一個數學函式的標頭檔案,你自己去挖掘下,便於加深你的記憶!為了你好,少給你個標頭檔案,自己找吧! void directinsertionsort(int a,int n) cout<"

16樓:您帖子已被刪除

好像還要一個種子,你這個是預設的。

17樓:楠公小白

正在開發審定中的 c++ 新版標準包括一個隨機數生成器庫,可以生成好幾種常用隨機分佈型別的隨機數。

不過傳統的隨機數函式還是標準 c 庫中的 rand()。

// 設定隨機數發生公式的種子值。

srand( (unsigned)time( null )

// 獲得隨機數。

int i = rand() 4 + 1;

c++èçºî´´½¨ëæ»úêý×ö 5

pascal隨機函式

上面幾位說法有誤 隨機函式random是pascal語言中的標準函式,random x 的值為大於等於0且小於等於x 1的任意一個正整數 注意,這一點在實際使用中容易弄錯 其中x的型別為整型。randomize是初始化隨機數生成器,在pascal語言編寫的程式中可以使random函式的取值在每次執行...

C關於隨機數抽取問題,C 怎麼獲取隨機數

public string randomnum int n int t rand.next 61 if temp 1 temp t temp t vnum vcarray t return vnum 返回生成的隨機數 c 怎麼取隨機數?使用random類中的next 方法。例如,生成一個100以內的...

vb中隨機函式的用法,VB中隨機函式的用法

int rnd 6 1 隨即產生1到6之間的整數rnd 函式隨即產生一個大於等於0但小於1的 單精度浮點數 例如 你要隨即產生10到96之間的整數 int rnd 87 10 假設產生a到b之間的整數 則這個範圍應該是b a,由於rnd隨機產生的數小於1且大於等於0,則應該將rnd 乘以 b a 1...