當前位置:首頁 » 編程語言 » c語言隨機數0到1

c語言隨機數0到1

發布時間: 2023-01-11 17:07:28

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

方法一:

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"
doublernd1(double*r)
{intm;
doubles,u,v,p;
s=65536.0;u=2053.0;v=13849.0;
m=(int)(*r/s);*r=*r-m*s;
*r=u*(*r)+v;m=(int)(*r/s);
*r=*r-m*s;p=*r/s;
return(p);
}
main()
{inti;
doubler;
r=5.0;
printf(" ");
for(i=0;i<=9;i++)
printf("%10.7lf ",rnd1(&r));
printf(" ");
getch();
}

方法二:

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

printf("%f ",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的隨機數

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

熱點內容
怎麼把文件上傳百度雲 發布:2025-07-13 11:09:18 瀏覽:556
光遇安卓玩家如何加蘋果玩家 發布:2025-07-13 11:08:21 瀏覽:477
安卓哪裡下載破解游戲 發布:2025-07-13 11:02:30 瀏覽:324
三菱如何查找未編譯的程序 發布:2025-07-13 11:02:29 瀏覽:389
2013全國計算機二級c語言真題 發布:2025-07-13 10:58:17 瀏覽:174
python讀取txt 發布:2025-07-13 10:56:50 瀏覽:641
c語言ftp伺服器 發布:2025-07-13 10:56:36 瀏覽:413
mdb壓縮 發布:2025-07-13 10:56:02 瀏覽:425
ftp虛擬目錄上傳文檔 發布:2025-07-13 10:51:18 瀏覽:640
香港雲伺服器建站有用嗎 發布:2025-07-13 10:46:26 瀏覽:435