當前位置:首頁 » 編程語言 » c語言怎樣設置隨機數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎樣設置隨機數

發布時間: 2022-12-16 22:51:08

c語言隨機數怎麼生成

在實際編程中,我們經常需要生成隨機數。在c語言中我們通常使用rand方法生成隨機數,在調用rand前需要調用srand初始化隨機數種子。

電腦:華為MateBook14

系統:Windows10

軟體:notepad++等編輯器、gcc編譯器1.0

1、使用rand函數生成隨機數,rand隨機生成一個位於0 ~ RAND_MAX之間的整數。如下圖中,我們直接使用rand方法生成10個隨機數。

② C語言怎樣產生一定范圍的隨機數

在C語言中,rand()函數可以用來產生隨機數,但是這不是真真意義上的隨機數,是一個偽隨機數,是根據一個數,可以稱它為種子。

為基準以某個遞推公式推算出來的一系數,當這系列數很大的時候,就符合正態公布,從而相當於產生了隨機數。

C語言產生一定范圍的隨機數的源代碼如下:

#include<stdio.h>

#include<stdlib.h>

int main()

{

int i;

for(i=0; i<10; i++) //隨機產生10個數。

{

printf("%d ", rand());

}

return 0;

}

(2)c語言怎樣設置隨機數擴展閱讀

1、如果要隨機生成一個在一定范圍的數,你可以在宏定義中定義一個random(int number)函數,然後在main()裡面直接調用random()函數。

2、在對rand()的前三次調用中,並且此後得到的返回值仍然是在對rand()的第一批調用中所得到的其餘的返回值。因此,只有再次給srand()提供一個隨機的「種子」值,才能再次得到一個隨機數。

③ c語言,如何產生隨機數

具體代碼如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h> //用到了time函數
int main()
{ int i,number;
srand((unsigned) time(NULL)); //用時間做種,每次產生隨機數不一樣
for (i=0; i<50; i++)
{
number = rand() % 101; //產生0-100的隨機數
printf("%d ", number);
}
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<time.h>