【发布时间】:2015-02-27 01:21:10
【问题描述】:
我想用 rand() 方法生成 1 到 25 之间的随机数。
但是我只知道如何生成随机数,默认包含数字零:
int r = rand() % 26 /* random int between 0 and 25 */
有人吗?谢谢。
【问题讨论】:
我想用 rand() 方法生成 1 到 25 之间的随机数。
但是我只知道如何生成随机数,默认包含数字零:
int r = rand() % 26 /* random int between 0 and 25 */
有人吗?谢谢。
【问题讨论】:
很简单
int r = 1 + rand() % 25 /* random int between 1 and 25 */
但你应该使用这个
int r = (int)(1.0 + 25.0 * rand() / RAND_MAX)
正如 cmets 中所提到的,第二种是生成随机数的更稳健的方法,请参阅link
【讨论】:
(1.0 + RAND_MAX)?