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

時間 2021-09-10 18:22:30

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語言中取隨機數的函式,C語言中取隨機數的函式

韌勁 1.基本函式 在c語言中取隨機數所需要的函式是 int rand void void srand unsigned int n rand 函式和srand 函式被宣告在標頭檔案stdlib.h中,所以要使用這兩個函式必須包含該標頭檔案 include 2.使用方法 rand 函式返回0到ran...

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

可以寫一個函式,利用math.h中的rand來產生隨機浮點數。include include include 精度0.001的隨機浮點數 float randf main 有些書上說用rand得到的可能是負數。如果有出現負數的話,對rand得到的數取絕對值就可以了。 愛染年 方法一 1 功能 產生0...

C語言中的隨機數的問題

rand 函式產生隨機數的原理 不清楚。但是他是一個 include 裡的函式。他的範圍是0 rand max.這個值不小於32767 這是ansi標準規定的 提到這個,順便幫樓主提一下。這個是偽隨機數。也就是一旦你執行過後,你每次得到的那組隨機數肯定是一樣的。這也就是偽所在。他的單次是隨機 單次不...