c語言中如何生成0到1的隨機數,c語言中如何生成1個0到1的隨機數

2021-09-10 18:22:20 字數 5150 閱讀 7248

1樓:八哥說科技

c語言中生成1個0到1的隨機數可以執行語句:float b=rand()/(rand_max+1.0);

解析:標準c庫中函式rand()可以生成0~rand_max之間的一個隨機數,其中rand_max 是stdlib.h 中定義的一個整數,它與系統有關。

rand()函式沒有輸入引數,直接通過表示式rand()來引用;

用函式rand取得的隨機數除以(rand_max+1.0),即可確保得到的結果在0到1之間。iso iec 9899 2011 (c11)標準中未規定 rand_max 的具體數值。

但該標準規定了rand_max 的值應至少為32767。程式設計的時候,不應該對 rand_max 的具體數值做任何假設。

2樓:劇琨瑜寧姮

#include

void

main(void)}

3樓:匿名使用者

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語言產生0到1之間的隨機數?

4樓:匿名使用者

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

#include

#include

#include

// 精度0.001的隨機浮點數

float randf()

main()

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

5樓:愛染年

方法一:

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之間隨機數的式子了.

6樓:匿名使用者

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

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

7樓:

看看吧別人已經答了呵呵

c++如何產生0到1之間的隨機數?

8樓:匿名使用者

c++中用來產生隨機

抄數的函襲數為rand(), 其返回值為整數。

而0到1之間的隨機數,明顯是浮點數。

這樣無法直接產生。

於是,必須經過轉換。

轉換思路為,生成一個0-n的隨機數,然後對其除以n+1,則可以得到0-1直接的浮點型隨機數。

n的確定,可以與要求的精度有關,比如需要三位小數,可以採用n=999,如需要四位,則採用n=9999,以此類推。

具體操作如下:

#include

#include

void get_rand(float *p, int n)//函式功能為產生n個0-1的隨機數,儲存於陣列p中。

9樓:匿名使用者

在用rand之前,先用當前時間設定種子,即srand(time(null));

然後要得到0到1之前的,可專以

double i = rand()*1.0/rand_max;

同樣,你要得到4.1應該是屬rand()/10.0,否則兩個整數相除,得到的是整除的結果,不是double型。

10樓:匿名使用者

測試bai通過

du#include

#include

using namespace std;

int main()

system("pause");

return 0;}

11樓:匿名使用者

#include

#include

#include

void main( void )

{int i;

srand( (unsigned)time( null ) );

for( i = 0; i < 10;i++ )cout<整數

抄除以整數嘛,所以得到bai的肯定也是du個整數啊,它會強制轉zhi換為整數。dao所以你得到的是4,而不是4.1。 你要得到4.1那麼就除以10.0就可以了 。

記住在以後的除法中,要得到小數,就最好在除數中加上小數。

12樓:匿名使用者

vc中使用baisrand()來初始化為隨機du數生成器。代zhi碼例項:

#include

#include

#include

#define n 10

main()

13樓:匿名使用者

//產生0--1之間的隨機小數(精確

內到小數點

後一位)容

#include

#include

#include

void main()}

14樓:匿名使用者

z在c++中有專門來產生隨

自機數的函式bai rand()

#include

#include

using namespace std;

void main()

{int i;

srand((int)time(0));

i=(int)rand();//%m;

cout << i<節

dum的大小

zhi來得到0~m的隨dao機數;

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

15樓:物理公司的

#include

#include

#include

int main()

16樓:好程式設計師

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語言 產生 -1到1之間的隨機數 要怎麼寫 謝謝

17樓:匿名使用者

#include

#include

#include

void main()

18樓:匿名使用者

#include

#include

#include

#include

main()

/* --------------------------------------*

* 說明:

* 產生0到n隨機數的方法是 ( rand() % n);

* srand涵數提供偽隨機數涵數的種子

* ---------------------------------------*/

c語言中產生0—1的100個隨機數

19樓:屈飛文邊童

這是一種辦法,還想知道其他函式就去看透檔案吧#include

#include

#include

intmain()

return(0);}

20樓:悲劇的

#include"time.h"

#include"stdio.h"

#include"stdlib.h"

#include"malloc.h"

#define n 10

#define list_init_size 100struct list ;

typedef struct list list;

void list_init(list *l)int list_del(list *l,int i,int e)void main()

printf("%d\n\n\n\n\n\n",l.elem[9]);

for(i=0;i

printf("\n");

}輸出隨機不重複的隨機數~

可能有點問題,你自己再除錯下吧

21樓:萬倩

c語言中有專門的一個函式的

c語言問題,請問如何才能產生隨機數

srand int value rand max 1 min min c語言怎樣產生一定範圍的隨機數?編譯環境為 vs2013 產生1到3的整型隨機數的 如下 include include include define max 3 這個函式的意義為 隨機生成最大的數為3 define min 1 ...

生成1到100之間的隨機數,並且對其中的偶數進行降序排

include include include using namespace std int main cout endl 列印出裡面的偶數,不是必要,清楚點而已 cout 其中的偶數有 endl int c1 0 for int z 0 z 50 z cout endl int c2 c1 把拿...

用c語言怎樣產生不同的隨機數,用C語言怎樣產生10個不同的隨機數

方法和詳細的操作步驟如下 1 第一步,開啟c語言編譯器並建立一個新的初始.cpp檔案,例如 test.cpp 見下圖,轉到下面的步驟。2 第二步,執行完上面的操作之後,輸入c語言 見下圖,轉到下面的步驟。3 第三步,執行完上面的操作之後,編譯器執行test.cpp檔案,執行結果見下圖。這樣,就解決了...