如何用c語言產生0到1之間的隨機數

時間 2021-08-30 10:51:39

1樓:匿名使用者

可以寫一個函式,利用math.h中的rand來產生隨機浮點數。

#include

#include

#include

// 精度0.001的隨機浮點數

float randf()

main()

有些書上說用rand得到的可能是負數。如果有出現負數的話,對rand得到的數取絕對值就可以了。

2樓:愛染年

方法一:

1、功能:

產生0到1之間均勻分佈的一個隨機數

2、方法說明:

設m=216,產生產生0到1之間均勻分佈的一個隨機數的計算公式如下:

ri=mod(2053ri-1 +13849,m),i=1,2,3……

pi =ri/m

例:連續產生10個0到1之間均勻分佈的一個隨機數 。r的初值取5.0#include "stdio.h"

double rnd1(double *r)main()

方法二:

float b=rand()/(rand_max+1.0);

printf("%f\n",b);

註釋:stdlib.h標頭檔案中有巨集#define rand_max 0x7fff

rand()產生一個0到0x7ffff即0到32767之間的隨機數rand()/(rand_max+1.0)就等於一個0到1之間的小數了,因為rand()最大是32767最小是0,再除以32768就是一個0到1之間的小數(不能等於1),再乘以10就是一個0到10之間的數了(不等於10).最後再加1,就成了一個求1到10之間隨機數的式子了.

3樓:匿名使用者

用stdlib.h中的隨機數產生器。當然還要#include首先srand(time(null));種隨機數種子。

然後用算式float result=rand()%256;rand()是產生一個介於0到256的隨機數的函式。

4樓:

看看吧別人已經答了呵呵

求教c語言中rand()和srand()具體用法的區別?另外,rand()是產生0到1之間的隨機數

5樓:匿名使用者

rand()產生一個0~32767之間的偽隨機數。而srand(unsigned t)是為rand()產生偽隨機數下一個“種子”

。所謂“回種子”就是給偽隨機發答生器賦一個初值,因為如果初值一樣,後面產生的偽隨機數的規律也就一樣,達不到“隨機”的目的。所以srand(unsigned t)一般是用機中的實時時間來啟動的,因為實時時間的值每時每刻都在變化,這樣啟動的rand()函式產生的偽隨機數序列就能達到以假亂真的效果

c語言中如何產生1或0隨機數

6樓:物理公司的

#include

#include

#include

int main()

7樓:好程式設計師

float b=rand()/(rand_max+1.0);

printf("%f\n",b);

註釋:stdlib.h標頭檔案中有巨集#define rand_max 0x7fff

rand()產生一個0到0x7ffff即0到32767之間的隨機數rand()/(rand_max+1.0)就等於一個0到1之間的小數了,因為rand()最大是32767最小是0,再除以32768就是一個0到1之間的小數(不能等於1),再乘以10就是一個0到10之間的數了(不等於10).最後再加1,就成了一個求1到10之間隨機數的式子了.

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

8樓:幻翼高達

需要準備的材料分別有:電腦、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內的整數。

9樓:匿名使用者

先用抄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;}

10樓:匿名使用者

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

11樓:匿名使用者

#include

#include

#include

#define n 10

#define m1 1

#define m2 100

void main()

if(i==n)break;

} printf("\n");}

12樓:

#include "stdio.h"//

#include "stdlib.h"//#include “time.h”//

void main(void)

13樓:匿名使用者

#include #include

#include

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

} // t_rand

void main()

c語言 輸出1到100之間的全部素數

有三種方法 1 輸出1 100以內的素數 2 同樣,也是輸出1 100以內的素數,這個構造一個陣列,將其所有元素初始化為1,表示素數,這時取x從2開始,到100以內做迴圈。若x為素數,即prime x 0,使得每個i x位置元素置0 prime i x 0 表示為非素數,迴圈結束前x 1。3 該方法...

c語言求1到10的階乘的和,C語言求1到10的階乘的和

你試試把for後的兩句放在for語句中 因為你的程式當c大於2時 d始終只能得一次值 而不會累加 而且你把應a d定義為長整型 我自己寫的中間的你試試 for i 0 i 11 i for j i j 0 j s j sum s 其中s sum都是長整型 用手機上回的 簡單寫了下 希望能看懂 還有你...

c語言 用rand函式 產生1到10範圍內的隨機數的問題,有

與子如初見 這樣寫,count 10 int n while 1 count rand 10 就行count 0 中為1出現的次數 count 1 中為2出現的次數. 設有整數m和n,0 m n,欲生成 m n n,則有 n rand n m 1 m 2 14 4 5 17 3 8 1press a...