c语言怎么控制随机数范围

avatar
作者
筋斗云
阅读量:2

使用C语言中的rand()函数生成的随机数范围默认是0到RAND_MAX(通常是32767)。如果要控制随机数的范围,可以使用以下方法:

  1. 使用取模运算符(%)来限制随机数的范围。 例如,要生成0到9之间的随机数,可以使用以下代码:

    int randomNumber = rand() % 10; 

    这将生成一个0到9之间的随机整数。

  2. 使用线性变换来映射随机数的范围。 例如,要生成1到100之间的随机数,可以使用以下代码:

    int randomNumber = rand() % 100 + 1; 

    这将生成一个1到100之间的随机整数。

  3. 使用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; } 

这样每次运行程序时,生成的随机数序列都会不同。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!