如何用rand函式產生隨機數,如何用rand函式產生一個隨機數

2021-05-05 19:16:25 字數 4396 閱讀 2774

1樓:匿名使用者

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;}

2樓:暴初瑤

如果需要在數值a-b之間隨即產生一個數,如下操作:

單元格中輸入函式

=round(rand()*(c+a),3) 函式解釋:在a-b區間範圍內隨即產生一個數,小數點後保留3位!

其中的=rand()*(c+a) 函式解釋:以a為起點,步長為c 在a-b中隨即產生一個數。

備註: c 為步長,也就是所取點的範圍長度。在這裡應該是c=b-a=round(#,3) 函式解釋:數值#小數點後取3位.

3樓:匿名使用者

在單元格輸入

=rand()

即可隨機生成一個0和1之間的隨機數,假設你想生成一個0到100之間的隨機數,公式變通下:

=rand()*100

4樓:匿名使用者

rand函式是隨機產生一個[0,1)之間的隨機數,如果你希望在你想要的範圍內產生隨機整數,那麼你可以用這個隨機數乘你需要的範圍

例如你想得到0-9這十個自然數的隨機,可用int(rand()*10),由於不知道你用何種語言編寫,具體形式需要你自己調整,思路就是這麼個樣子。

補充,如果不是0開始,可以用int(rand()*10)加減數字來調整。

5樓:

select char(rand()*10+48)//產生隨機數

select char(rand()*26+65)//產生隨機字母

select left( newid(),6)//產生六位隨機數字和字母

c語言如何srand和rand函式產生10個1-100內的隨機數

6樓:幻翼高達

需要準備的材料分別有:電腦、c語言

編譯器。

1、首先,開啟c語言編譯器,新建一個初回始.cpp檔案,例如答:test.cpp。

2、在test.cpp檔案中,輸入c語言**:

for (int i = 0; i < 10; i++)printf("%d ", rand() % 100 +1);

3、編譯器執行test.cpp檔案,此時成功通過rand產生了10個1-100內的整數。

7樓:匿名使用者

先用抄srand函式設定一個

種子,一般為襲當前時間,然後使用bairand函式產生隨機du數zhi

,如產生a~b的隨機數使用表示式rand()%(b-a+1)+a。

注意dao:srand函式在標頭檔案#include 中。

示例**:

#include

#include

#include

int main()

//列印生成的隨機數

for (i = 0; i < 10; ++i)printf ("\n");

return 0;}

8樓:匿名使用者

這就是關於程式設計的一些內容,現在呢科技發達了沒有,今後這個如果不會變成的話,可能連工作都找不到。

9樓:匿名使用者

#include

#include

#include

#define n 10

#define m1 1

#define m2 100

void main()

if(i==n)break;

} printf("\n");}

10樓:

#include "stdio.h"//

#include "stdlib.h"//#include 「time.h」//

void main(void)

11樓:匿名使用者

#include #include

#include

void t_rand() // forprintf("\n");

} // t_rand

void main()

如何用rand函式產生一個隨機數?

12樓:匿名使用者

如果需要在數值a-b之間隨即產生一個數,如下操作:

單元格中輸入函式

=round(rand()*(c+a),3) 函式解釋:在a-b區間範圍內隨即產生一個數,小數點後保留3位!

其中的=rand()*(c+a) 函式解釋:以a為起點,步長為c 在a-b中隨即產生一個數。

備註: c 為步長,也就是所取點的範圍長度。在這裡應該是c=b-a=round(#,3) 函式解釋:數值#小數點後取3位.

13樓:匿名使用者

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函式產生4個不重複的隨機數啊?

14樓:匿名使用者

可以將生成的隨機數放入陣列中,每次遍歷陣列,有相同的重新生成隨機數。知道生成4個即退出迴圈。

#include

#include

#include

int main()

for (int i = 0; i < cnt; i++) // 列印隨機數陣列

printf("%d ", num[i]);

return 0;}

15樓:匿名使用者

加個判斷就行了,儲存下前面的數,後面的隨機數和前面的所有數比較,不一樣就取,一樣就繼續取餘。再者,取餘的數應該大一些的話,遇到重複的概率就要小很多。如a=rand()%10000;

16樓:匿名使用者

比如可以利用增量不為0的辦法:#include#include

#includeint main()

return 0;}

17樓:匿名使用者

#include //標準工具庫,要用到其中的rand()#include

#include

#include //時間庫,要用到裡面的時間來做隨機數的種子 int main(void)

;srand(time(null));

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

printf("\n");

return 0;}

rand隨機函式產生的值的範圍rand是如何確定要產生的隨機數的範圍的?例如rand20它產生的隨機數的範圍?

cplusplus中有這樣的介紹 rand函式產生一個0到rand max的偽隨機數,這裡的rand max因不同的實現而異,但rand max至少為32767。比如,msvc中通常為0x7fff,即32767,而linux平臺下gcc中rand max通常會遠遠大於這個值 有一些其他程式語言的ra...

如何用C產生兩個隨機數,c 怎麼連續產生多個指定範圍的隨機數?

在開發過程中,常常要產生隨機數,如生成靜態 html 網頁時,檔名通常用產生隨機數的方式獲得,生成定單的時候,定單號也可以用產生隨機數的方式獲得等。在 c 中,一般都用 random 產生隨機數,它可任意指定產生隨機數範圍。random 結合陣列,可以產生一些特殊範圍的隨機數,以滿足特殊的需要。一 ...

matlab萊斯分佈隨機數如何產生

rice rician distribution clear,clc a 1 sigma 1 fx sigma,x,a x.sigma 2 exp a.2 x.2 2 sigma besseli a.2,2.027 x 0 01 10 y fx sigma,x,a figure 1 plot x,y...