網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

rand函數的使用方法是什麼

欄目: IT科技 / 發佈於: / 人氣:2.99W

用c語言產生隨機數rand()     在C語言中,rand()函數可以用來產生隨機數,但是這不是真真意義上的隨機數,是一個僞隨機數,是根據一個數,我們可以稱它爲種子,爲基準以某個遞推公式推算出來的一系數,當這系列數很大的

在excel中rand函數的使用方法,步驟加圖

方法

選中單元格,往裏輸入“=rand()”

Rnd(number) 返回一個Single類型的隨機數,小於 1 但大於或等於 0 的值 如果 number 的值 小於 0 每次都得到相同的隨機數。 大於 0 或省略 產生下一個隨機數。 等於 0 返回最近一次生成的隨機數。 使用之前最好使用Randomize 例如產生N到M的隨機

rand函數的使用方法是什麼

輸入後按回車

這個我用過,我知道: rand()是一個可以生成隨機數的函數隨機數,函數返回的隨機數在0-RAND_MAX(32767)之間; rand()%100結果是隨機數除以100後所得的餘數,即限定隨機的範圍是在0~99之間; 使用rand()函數需添加頭檔案:#include 你的二維數組可

rand函數的使用方法是什麼 第2張

向右向下複製填充公式,就會得到一系列大於等於0小於1的隨機數

要先設定種子,編譯器裏如果不設定種子,種子會默認爲0,那麼每次執行的隨即數都一樣的。用time函數來改變種子,就可以很好的體現出“真正的隨即”了。 完整代碼: 例子: #include #include #include main(){ int i,a[10]; srand(time(0)); for(i

rand函數的使用方法是什麼 第3張

若需要0-5之間的隨機數,就要把rand函數返回數值擴大5倍即可。

rand(產生隨機數) 表頭檔案: #include 定義函數 :int rand(void) 函數說明 : 因爲rand的內部實現是用線性同餘法做的,他不是真的隨機數,只不過是因爲其週期特別長,所以有一定的範圍裏可看成是隨機的,rand()會返回一隨機數值,範圍在0至RAND

如圖,錄入公式=rand()*5

rand函數 函數頭檔案:stdlib.h 函數定義:int rand(void) 函數功能:產生一個隨機數 函數說明: rand函數產生的隨機數嚴格意義講不是真正的隨機數,它裏面採用了線性同餘法計算出隨機數,所謂的線性同語法簡單來說就是使用了一個公式。 該方法

rand函數的使用方法是什麼 第4張

輸入後按回車

這個我用過,我知道: rand()是一個可以生成隨機數的函數隨機數,函數返回的隨機數在0-RAND_MAX(32767)之間; rand()%100結果是隨機數除以100後所得的餘數,即限定隨機的範圍是在0~99之間; 使用rand()函數需添加頭檔案:#include 你的二維數組可

rand函數的使用方法是什麼 第5張

並把函數向下向右複製填充,就得到0-5之間的隨機實數了。

方法/步驟 如何更改RAND函數輸出值的範圍。 通常情況下,RAND函數輸出結果在0~1之間,如果我們想輸入10~100之間的數據,該怎麼辦?其實我們只需要給RAND函數擴大1000倍即可。如圖: 有時,我們更希望RAND輸出的結果只保留幾位數,對此,我們可以

rand函數的使用方法是什麼 第6張

擴展閱讀,以下內容您可能還感興趣。

c語言rand函數的使用

你好!!

    srand((int)time(NULL));// 移到循環的外面

    增加了每次出拳的顯示,便於檢視

    增加了局數的顯示#include<stdlib.h>//爲了使用srand、rand函數必須使用該頭檔案

#include<time.h>//要使用time()必須使用該頭檔案 

#include<stdio.h>

int main()

{

char in;

//出錯,產生的隨機數永遠一樣。 

srand((int)time(NULL));// 移到循環的外面

int a=1; 

do{

int user;            //定義玩家和電腦出拳 

int uwin,ulos,allwin;//定義玩家的勝利參數,失敗參數,平局參數 

int cwin,clos,loop;  //定義電腦的勝利參數和失敗參數,不需要定義平局參數,可以直接取用allwin 

int computer=0;

uwin=0;

ulos=0;

allwin=0;

cwin=0;

clos=0;

computer = rand()%3+1;    //隨機產生1-3任意一個整數,rand()%3是隨機產生0-2之間的整數(包含0但不包含3)

printf("n【第 %d 局】n 請出拳:",a);

a++;

scanf("%d",&user);

printf("這一局,您出的是【%d】,電腦出的是【%d】!n",user,computer);

switch(user)

{

case 1:

if(computer==1)

{

printf("這一局,您出的是【石頭】,電腦出的是【石頭】,好巧哦,是平局耶!n");

allwin+=1; 

}

}

}while(1);

}

rand()函數如何使用

srand函數是隨機數發生器的初始化函數,原型:

void srand(unsigned seed);

它需要提供一個種子,如:

srand(1);

直接使用1來初始化種子。

不過常常使用系統時間來初始化,即使用

time函數來獲得系統時間,它的返回值爲從 00:00:00 GMT, January 1, 1970

到現在所持續的秒數,然後將time_t型數據轉化爲(unsigned)型在傳給srand函數,即:

srand((unsigned) time(&t));

還有一個經常用法,不需要定義time_t型t變量,即:

srand((unsigned) time(NULL));

直接傳入一個空指針,因爲你的程序中往往並不需要經過參數獲得的t數據。

srand((int)getpid());

使用程序的ID(getpid())來作爲初始化種子,在同一個程序中這個種子是固定的

隨機輸出十個0-100之間的整數

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

void main( void )

{

int i,k;

srand( (unsigned)time( NULL ) );

for( i = 0; i < 10;i++ )

{

k=rand()%100;

printf( " k=%d\n", k );

}

}

參考資料:http://baike.baidu.com/view/1458234.html?wtp=tt

C++ rand函數怎麼用,頭檔案應包括什麼

使用rand函數時頭檔案應該包括stdlib.h,rand()函數用來產生隨機數,但是,rand()的內部實現是用線性同餘法實現的,是僞隨機數,由於週期較長,因此在一定範圍內可以看成是隨機的。rand()會返回一個範圍在0到RAND_MAX(至少是32767)之間的僞隨機數(整數)。

在調用rand()函數之前,可以使用srand()函數設定隨機數種子,如果沒有設定隨機數種子,rand()函數在調用時,自動設計隨機數種子爲1。隨機種子相同,每次產生的隨機數也會相同。rand()函數需要的頭檔案是:<stdlib.h>

rand()函數原型:int rand(void);使用rand()函數產生1-100以內的隨機整數:int number1 = rand() % 100+1。

擴展資料:

使用rand()和srand()產生指定範圍內的隨機整數的方法,“模除+加法”的方法因爲,對於任意數,0<=rand()%(n-m+1)<=n-m,因此,0+m<=rand()%(n-m+1)+m<=n-m+m,因此,如要產生[m,n]範圍內的隨機數num,可用:

int num=rand()%(n-m+1)+m。其中的rand()%(n-m+1)+m算是一個公式,記錄一下方便以後查閱。比如產生10~30的隨機整數:srand(time(0)),int a = rand() % (21)+10。

vb中,rand()函數什麼意思?

Rand(number) 返回一個Single類型的隨機數,小於 1 但大於或等於 0 的值.

如果 number 的值 小於 0 每次都得到相同的隨機數。 大於 0 或省略 產生下一個隨機數。 等於 0 返回最近一次生成的隨機數。

使用之前最好使用Randomize 例如產生N到M的隨機數,Int(Rand()*M-N+1)+N

vb6.0中沒有Rand函數,如寫Rand(3)就會出錯。

Rand()函數只產生1到10單不包括0和1的隨機數默認爲單精度數0.0000001—0.9999999(開區間(0,1))。

要產生1-10的隨機小數時:

只能不包括1和10:rand*9+1(即1.0000001—9.9999999之間,開區間(1,10))

要是產生1-10的隨機整數時:

不包括1和10:int(rand*8)+2(即2—9之間的整數)

包括1和10時:int(rand*10)+1(即1—10之間的整數)

Rand函數和srand函數在keil中怎麼用,能給我舉個例子嗎

srand((unsigned)time(NULL))則使用系統定時/計數器的值作爲隨機種子。每個種子對應一組根據算法預先生成的隨機數,所以,在相同的平臺環境下,不同時間產生的隨機數會是不同的,相應的,若將srand(unsigned)time(NULL)改爲srand(TP)(TP爲任一常量),則無論何時執行、執行多少次得到的“隨機數”都會是一組固定的序列,因此srand生成的隨機數是僞隨機數。[1]

庫函數中系統提供了兩個函數用於產生隨機數:srand()和rand()。 原型爲:

函數一:int rand(void);

返回一個[0,RAND_MAX]間的隨機整數。

函數二:void srand(unsigned seed);

參數seed是rand()的種子,用來初始化rand()的起始值。

但是,要注意的是所謂的“僞隨機數”指的並不是假的隨機數。其實絕對的隨機數只是一種理想狀態的隨機數,計算機只能生成相對的隨機數即僞隨機數。計算機生 成的僞隨機數既是隨機的又是有規律的 —— 一部份遵守一定的規律,一部份則不遵守任何規律。比如“世上沒有兩片形狀完全相同的樹葉”,這體現到了事物的特性 —— 差異性;但是每種樹的葉子都有近似的形狀,這正是事物的共性 —— 規律性。從這個角度講,我們就可以接受這樣的事實了:計算機只能產生僞隨機數而不是絕對的隨機數。

系統在調用rand()之前都會自動調用srand(),如果用戶在rand()之前曾調用過srand()給參數seed指定了一個值,那麼 rand()就會將seed的值作爲產生僞隨機數的初始值;而如果用戶在rand()前沒有調用過srand(),那麼系統默認將1作爲僞隨機數的初始 值。如果給了一個定值,那麼每次rand()產生的隨機數序列都是一樣的~~

所以爲了避免上述情況的發生我們通常用srand((unsigned)time(0))或者srand((unsigned)time(NULL))來 產生種子。如果仍然覺得時間間隔太小,可以在(unsigned)time(0)或者(unsigned)time(NULL)後面乘上某個合適的整數。 例如,srand((unsigned)time(NULL)*10)

另外,關於time_t time(0):time_t被定義爲長整型,它返回從1970年1月1日零時零分零秒到目前爲止所經過的時間,單位爲秒。

srand()、rand()用法舉例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#include<time.h>

#include<stdlib.h>

#include<stdio.h>

voidmain()

{

inti,j;

srand((int)time(0));

for(i=0;i<10;i++)

{

j=1+(int)(10.0*rand()/(RAND_MAX+1.0));

printf("%d",j);

}

}

Tags:函數 rand