1樓:匿名使用者
rand()函式的返回值就是求取隨機的值,所以如果沒有對資料有要求,直接這樣寫:
printf("%d", rand());//輸出乙個隨機數.
但如果對數有要求,如小數或在一定值以內:
小數:rand()/100.0 //100.0後面的.0必須寫,得到乙個小數點後有兩位小數的小數。
一定範圍內的數:rand()%m+n //m是資料區間差,n是最小值
如:求[ 100,120)之間的數就是:rand()%20+100
rand()函式得到的是一偽隨機序列,即,每次執行時,得到的隨機序列是相同的(這是為了保證除錯程式時,每次保持相對穩定的資料,便於查詢程式問題)。為了得到不同的隨機序列,系統提供了srand(int n)函式設定隨機種子,n值不同時,就會得到不同的隨機序列,常用方法為:
srand(time(null)); //time的返回值是當前系統時間(秒數),因為每次執行時的時間不同,time的結果就會是不同的值,這樣,srand()設定的種子就會不同,得到的隨機序列也就會不同。
time在中宣告
rand,srand在中宣告.
2樓:匿名使用者
#include
#include
#include
int main(void)
3樓:七月流光
#include
#include
void main()
4樓:
int i;
i = rand() % 50 + 1; //餘數在0~49內,加1即滿足要求;
如何用rand函式產生乙個隨機數?
5樓:匿名使用者
如果需要在數值a-b之間隨即產生乙個數,如下操作:
單元格中輸入函式
=round(rand()*(c+a),3) 函式解釋:在a-b區間範圍內隨即產生乙個數,小數點後保留3位!
其中的=rand()*(c+a) 函式解釋:以a為起點,步長為c 在a-b中隨即產生乙個數。
備註: c 為步長,也就是所取點的範圍長度。在這裡應該是c=b-a=round(#,3) 函式解釋:數值#小數點後取3位.
6樓:匿名使用者
rand()函式是產生隨機數的乙個隨機函式。
注意:(1)使用該函式首先應在開頭包含標頭檔案stdlib.h
#include(c++建議使用#include,下同)
(2)在標準的c庫中函式rand()可以生成0~rand_max之間的乙個隨機數,其中rand_max 是stdlib.h 中定義的乙個整數,它與系統有關。
(3)rand()函式沒有輸入引數,直接通過表示式rand()來引用;例如可以用下面的語句來列印兩個隨機數:
printf("random numbers are: %i %i\n",rand(),rand());
(4)因為rand()函式是按指定的順序來產生整數,因此每次執行上面的語句都列印相同的兩個值,所以說c語言的隨機並不是真正意義上的隨機,有時候也叫偽隨機數。
(5)為了使程式在每次執行時都能生成乙個新序列的隨機值,我們通常通過為隨機數生成器提供一粒新的隨機種子。函式 srand()(來自stdlib.h)可以為隨機數生成器播散種子。
只要種子不同rand()函式就會產生不同的隨機數序列。srand()稱為隨機數生成器的初始化器。
例項:#include
#include
int main()
return 0;}
c語言中rand()函式怎麼用?
7樓:風若遠去何人留
rand函式功能為獲取乙個偽隨機數(偽隨機數的概念下面會有介紹)。
一、函式名:
rand();
二、宣告:
int rand();
三、所在標頭檔案:
stdlib.h
四、功能:
返回乙個偽隨機數。之所以說是偽隨機數,是因為在沒有其它操作下,每次執行同乙個程式,呼叫rand得到的隨機數序列是固定的(不是真正的「隨機」)。
五、為了使rand的結果更「真」一些,也就是令其返回值更具有隨機性(不確定性),c語言在stdlib.h中還提供了srand函式,通過該函式可以設定乙個隨機數種子,一般用當前時間的毫秒數來做引數。通過time(null)可以獲取到當前時間的毫秒值(該函式位於time.
h)中。
六、使用rand的流程可以總結為:
1 呼叫srand(time(null))設定隨機數種子。
2 呼叫rand函式獲取乙個或一系列隨機數。
需要注意的是,srand只需要在所有rand呼叫前,被呼叫一次即可,沒必要呼叫多次。
七、以下是隨機獲取10個整型值並輸出的例子,輔助理解。
#include
#include
#include
int main()
8樓:
如果使用rand()函式,需要在程式開始部分增加如下預處理指令:
#include
9樓:匿名使用者
#inlcude
rand()返回乙個0~32767的整數
用之前要先呼叫srand(),才能讓每次的隨機數不一樣要#include
然後srand(time(0));
10樓:柳絮追風
加這行:#inlcude
rand()返回乙個0~32767的整數
比如m=rand(35),將從0-35中隨機取乙個值賦給m
11樓:幸巴達
好像需要包含乙個標頭檔案
12樓:匿名使用者
按樓上的做基本上就可以了。
下面是乙個簡單的例項
srand(time(0)); 的目的是使的每次產生的隨機數不同。如下:
#include "stdafx.h"
#include "time.h"
#include "stdlib.h"
#include "iostream.h"
int main(int argc, char* ar**)這裡沒有呼叫 srand 函式,你兩次執行程式看一下所產生的數是不是一樣,然後將 srand(time(0))加入到 for 的上面就不一樣了。
srand(time(0));
for(int i=0;i<100;i++)cout< return 0; 13樓: rand(產生隨機數) 相關函式 srand 表頭檔案 #include 定義函式 int rand(void) 函式說明 rand()會返回一隨機數值,範圍在0至rand_max 間。在呼叫此函式產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在呼叫時會自動設隨機數種子為1。關於隨機數種子請參考srand()。 返回值返回0至rand_max之間的隨機數值,rand_max定義在stdlib.h,其值為2147483647。 範例 /* 產生介於1 到10 間的隨機數值,此範例未設隨機數種子,完整的隨機數產生請參考 srand()*/ #include main() }執行9 4 8 8 10 2 4 8 3 6 9 4 8 8 10 2 4 8 3 6 srand(設定隨機數種子) 相關函式 rand 表頭檔案 #include 定義函式 void srand (unsigned int seed); 函式說明 srand()用來設定rand()產生隨機數時的隨機數種子。引數seed必須是個整數,通常可以利用geypid()或time(0)的返回值來當做seed。如果每次seed都設相同值,rand()所產生的隨機數值每次就會一樣。 返回值範例 /* 產生介於1 到10 間的隨機數值,此範例與執行結果可與rand()參照*/ #include #include main() }執行5 8 8 8 10 2 10 8 9 9 2 9 7 4 10 3 2 10 8 7 怎麼用rand函式產生乙個範圍內的數 14樓:匿名使用者 產生a~b範圍內的隨機數(包含a,b): a+rand()%(b-a); 15樓:撥浪鼓兒 a+rand()%(b-a)產生的只是a到b-1,因此可以換成a+rand()%(b-a+1)來產生a到b. 16樓:芥茉櫻桃 在excel中可以使用randbetween函式。 randbetween 返回位於指定的兩個數之間的 乙個隨機整數。每次計算工作表專時都將返回一屬個新的隨機整數。 語法randbetween(bottom,top)bottom 函式 randbetween 將返回的最小整數。 top 函式 randbetween 將返回的最大整數。 示例 返回一組介於1到100間的隨機數 17樓:匿名使用者 1+4*rand() rand函式的用法 18樓:月似當時 srand((unsigned)time(null))則使用系統定時/計數器的值作為隨機種子。每個種子對應一組根據演算法預先生成的隨機數,所以,在相同的平台環境下,不同時間產生的隨機數會是不同的,相應的,若將srand(unsigned)time(null)改為srand(tp)(tp為任一常量),則無論何時執行、執行多少次得到的「隨機數」都會是一組固定的序列,因此srand生成的隨機數是偽隨機數。 庫函式中系統提供了兩個函式用於產生隨機數:srand()和rand()。 原型為: 函式一:int rand(void); 返回乙個[0,rand_max]間的隨機整數。 函式二:void srand(unsigned seed); 引數seed是rand()的種子,用來初始化rand()的起始值。 但是,要注意的是所謂的「偽隨機數」指的並不是假的隨機數。其實絕對的隨機數只是一種理想狀態的隨機數,計算機只能生成相對的隨機數即偽隨機數。計算機生 成的偽隨機數既是隨機的又是有規律的 —— 一部份遵守一定的規律,一部份則不遵守任何規律。 比如「世上沒有兩片形狀完全相同的樹葉」,這體現到了事物的特性 —— 差異性;但是每種樹的葉子都有近似的形狀,這正是事物的共性 —— 規律性。從這個角度講,我們就可以接受這樣的事實了:計算機只能產生偽隨機數而不是絕對的隨機數。 19樓: 這個我用過,我知道: rand()是乙個可以生成隨機數的函式隨機數,函式返回的隨機數在0-rand_max(32767)之間; rand()%100結果是隨機數除以100後所得的餘數,即限定隨機的範圍是在0~99之間; 使用rand()函式需新增標頭檔案:#include你的二維陣列可以可提供這樣一種方法實現: #include "stdafx.h" #include "stdlib.h" int main(int argc, char* ar**)return 0;} 如果需要在數值a b之間隨即產生乙個數,如下操作 單元格中輸入函式 round rand c a 3 函式解釋 在a b區間範圍內隨即產生乙個數,小數點後保留3位!其中的 rand c a 函式解釋 以a為起點,步長為c 在a b中隨即產生乙個數。備註 c 為步長,也就是所取點的範圍長度。在這裡應該... srand函式是隨機數發生器的初始化函式,原型 void srand unsigned seed 它需要提供乙個種子,如 srand 1 直接使用1來初始化種子。不過常常使用系統時間來初始化,即使用 time函式來獲得系統時間,它的返回值為從 00 00 00 gmt,january 1,1970 ... 1 輸入 2 排序抄 3 輸出。參考 如下 include int main for i 0 i 10 i 輸出 利用隨機函式產生10個100以內的整數,並從小到大的順序排序並輸出。include using namespace std int a 10 測試陣列 duvoid print 輸出陣列...如何用rand函式產生隨機數如何用rand函式產生乙個隨機數?
隨機數函式如何使用,用rand隨機函式怎麼求指定範圍的隨機數
利用rand函式產生100以內的隨機數,然後用氣泡排序法對這數進行降序排