生成C范围内的随机数

在这里,我们将看到如何使用C生成给定范围内的随机数。要解决此问题,我们将使用该srand()函数。当前时间将用于设定srad()方法。

此函数不能生成任何范围内的随机数,它可以生成介于0到某个值之间的数字。因此,为此,我们必须遵循一个技巧。我们将生成介于0到(上–下+ 1)之间的随机数,然后加上偏移的下限。

示例

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void generate_random(int l, int r, int count) { //this will generate random number in range l and r
   int i;
   for (i = 0; i < count; i++) {
      int rand_num = (rand() % (r - l + 1)) + l;
      printf("%d ", rand_num);
   }
}
main() {
   int lower = 10, upper = 15, count = 15;
   srand(time(0)); //current time as seed of random number generator
   generate_random(lower, upper, count);
   printf("\n");
}

输出结果

15 11 13 10 13 10 15 11 14 12 12 13 12 13 14