使用C语言中的rand()函数生成的随机数范围默认是0到RAND_MAX(通常是32767)。如果要控制随机数的范围,可以使用以下方法:
使用取模运算符(%)来限制随机数的范围。 例如,要生成0到9之间的随机数,可以使用以下代码:
int randomNumber = rand() % 10;
这将生成一个0到9之间的随机整数。
使用线性变换来映射随机数的范围。 例如,要生成1到100之间的随机数,可以使用以下代码:
int randomNumber = rand() % 100 + 1;
这将生成一个1到100之间的随机整数。
使用rand()函数生成一个0到1之间的随机小数,然后通过线性变换将其映射到所需的范围。 例如,要生成0到1之间的随机小数,可以使用以下代码:
double randomDouble = (double)rand() / RAND_MAX;
如果要生成一个在a到b之间的随机小数,可以使用以下代码:
double randomDouble = (double)rand() / RAND_MAX * (b - a) + a;
这将生成一个在a到b之间的随机小数。
需要注意的是,为了使用rand()函数,需要包含stdlib.h头文件。另外,为了使每次运行程序生成的随机数序列不同,可以在程序开始时调用srand()函数设置随机数的种子。例如:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL)); // 设置随机数种子为当前时间
int randomNumber = rand() % 10; // 生成0到9之间的随机整数
printf("%d\n", randomNumber);
return 0;
}
这样每次运行程序时,生成的随机数序列都会不同。