请教一个关于取随机数的问题
c吧
全部回复
仅看楼主
level 7
☞真白☜ 楼主
rand() % 100 + 1表示取1-100之间随机整数,百分号换成除号的(int)(10.0 * rand()/(RAND_MAX+1.0))这个是取什么之间的随机整数?n * ((double)rand() / RAND_MAX)这个呢?
2023年09月16日 03点09分 1
level 12
生成0-9的随机整数 生成0-n的随机浮点数
2024年01月19日 16点01分 4
[真棒]
2024年01月22日 10点01分
@☞真白☜ 吧主回答的貌似是对的,但似乎没写清楚是开区间还是闭区间。
2024年01月22日 11点01分
level 1
不懂
2024年01月19日 20点01分 5
看起来有点陌生的面孔,这层是哪个的小号么?
2024年01月21日 11点01分
@w34rt67u 随便评论的
2024年01月21日 11点01分
level 10
楼主的问题似乎有两个:
1. (int)(10.0 * rand()/(RAND_MAX+1.0)) 的值域。
2. n * ((double)rand() / RAND_MAX) 的值域。
看到2楼“贴吧包打听”机器人回复了三个,把 rand() % 100 + 1 也考虑进去了。
机器人指出了只用rand生成的是伪随机数。(这点貌似是对的)
可能注意到 RAND_MAX 可被改为0(也可能没有,毕竟+1不一定是这个目的):
在回复第八行“`RAND_MAX+1.0`(这确保了除数不会为0)”
但是 …… 在c语言中,这个RAND_MAX如果被改成0了的话 ……Σ(っ °Д °;)っ
那个一直输出inf的是因为第二个式子中除数为0。
(考完二级c之后已经好多年没怎么看c语言了 …… )
2024年01月20日 13点01分 6
[真棒]
2024年01月22日 10点01分
@☞真白☜ 我这层随便回复着玩儿的啦,一般没随便改这个预定义的吧 ……
2024年01月22日 11点01分
1