C语言怎样产生一定范围的随机数

  • Post author:
  • Post category:其他


C语言的获取随机数的函数为

rand()

, 可以获得一个非负整数的随机数。要调用rand需要引用头文件

stdlib.h



要让随机数限定在一个范围,可以采用模除加加法的方式。

要产生随机数r, 其范围为 m<=r<=n,可以使用如下公式:


rand()%(n-m+1)+m

其原理为,对于任意数,(8的余数一定小于8,9的余数小于等于8)

0<=rand()%(n-m+1)<=n-m

于是

0+m<=rand()%(n-m+1)+m<=n-m+m


m<=rand()%(n-m+1)+m<=n