1.int rand(void)
1)头文件:#include "stdlib.h"
2)方法:生成[a, b)区间的整数随机数。
算法:random =(rand() % (b - a)) + a;
证明:由于rand()函数可以产生[0, RAND_MAX]区间的整随机数,所以显而易见,
(rand() % N)可以产生[0, N)区间的整随机数,因此[a, N+a)区间的整随机数,
可以通过(rand() % N) + a表达式生成,如果令b = N + a,则N = b - a,
所以[a, b)区间的整随机数,就可以通过(rand() % (b - a)) + a表达式生成。
3)示例:产生-25到25之间的整随机数。
即生成[-25, 26)区间的整随机数,
所以random = (rand() % (26 + 1 -(-25))) + (-25) = (rand() % (51))- 25.
2.void srand(unsigned int x)
1)头文件:#include "stdlib.h"
2)示例:
#include <stdlib.h>
#include <windows.h>
#define RAND_NUM_MIN (-50)
#define RAND_NUM_MAX ( 50)
int random = 0;
int main(int argc, char *argv[])
{
srand(GetTickCount());
random = rand() % (RAND_NUM_MAX - RAND_NUM_MIN)+ RAND_NUM_MIN; return 0;
}