在 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

更新于:2019 年 7 月 30 日

3K+ 浏览

开始你的职业生涯

通过完成课程取得认证

开始
广告