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

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

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語言中如何生成0到1的隨機數,c語言中如何生成1個0到1的隨機數

八哥說科技 c語言中生成1個0到1的隨機數可以執行語句 float b rand rand max 1.0 解析 標準c庫中函式rand 可以生成0 rand max之間的一個隨機數,其中rand max 是stdlib.h 中定義的一個整數,它與系統有關。rand 函式沒有輸入引數,直接通過表示式...

c語言求1到100的和,c語言中 計算1到100相加

i的初始化值不同,一個是從0開始迴圈,一個是從1開始迴圈,從1開始的迴圈為1到100 包括100 做了100次加法,從0開始的迴圈為0到100 包括100 做了101次加法 煞神一刀 後面一個是從1開始的 前一個是先進行 s i 再進行i 當i 100時,迴圈一次s i之後i 101,退出迴圈 此時...

用c語言輸出1到10000之間的所有素數

莫道無情 c語言程式如下 include int main int i,j,k 0 for i 2 i 10000 i for j 2 j j i j if i j 0 break if j j i printf d i k if k 5 0 printf n int main if flag re...