例:取0~9随机数
1.首先调用srand(time(NULL))来初始化随机数生成器的种子
2.取模运算符是%
3.取模10意味着要获取一个数除以10后的余数。由于余数的范围是0到除数减1,在这个例子中是0到9,因此当对一个较大的随机数取模10时,结果将是一个0到9之间的整数。
例:取1~4之间随机数
要生成一个1到4之间的随机数,可以首先生成一个更大的随机数,然后对这个随机数取模4,最后再加1。这样可以确保结果是一个在1到4范围内的整数。% 4将这个整数限制在0到3的范围内,然后+ 1将结果范围调整为1到4。
例:取a~b之间随机数
生成一个大于或等于0且小于b - a + 1的随机数。
将这个随机数加上a,以确保结果落在a和b之间。首先确定了要生成的随机数的范围,即a和b。后用rand() % (b - a + 1)生成一个范围在0到b - a之间的随机数。最后,将这个随机数加上a,以确保结果落在a和b之间(包含a和b)。
例子:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int a = 3; // 最小值
int b = 8; // 最大值
// 使用当前时间作为随机数生成器的种子
srand(time(NULL));
// 生成一个随机数,范围在0到b-a之间
int random_offset = rand() % (b - a + 1);
// 将随机数映射到a到b的范围
int random_number = a + random_offset;
printf("Random number between %d and %d: %d\n", a, b, random_number);
return 0;
}