2016 - 2024

感恩一路有你

c语言如何产生60到100的随机数 C语言产生60到100的随机数算法

浏览量:4503 时间:2023-12-12 11:05:53 作者:采采

在C语言中,想要生成60到100之间的随机数可以使用rand()函数或者自定义算法两种方式。下面将分别介绍这两种方法。

1. 使用rand()函数生成随机数

rand()函数是C语言标准库中提供的随机数生成函数,它可以生成0到RAND_MAX之间的伪随机数。要生成指定范围内的随机数,我们可以使用取余运算和加法来进行调整。

具体的代码如下:

#include lt;stdio.hgt;
#include lt;stdlib.hgt;
#include lt;time.hgt;
int main() {
  int lower  60, upper  100;
  int num  upper - lower   1;
  srand(time(0));  // 设置种子
  for (int i  0; i lt; 10; i  ) {
    int rand_num  rand() % num   lower;
    printf("%d

", rand_num);
  }
  return 0;
}

上述代码中,使用srand()函数设置随机数生成器的种子为当前时间,以增加随机性。然后通过循环调用rand()函数生成指定范围内的随机数,并使用printf()函数打印出来。

2. 使用自定义算法生成随机数

除了使用rand()函数,我们还可以通过自定义算法来生成指定范围内的随机数。一个简单的方法是通过计算当前时间的毫秒数,并进行一系列的位运算和取余操作。

具体的代码如下:

#include lt;stdio.hgt;
#include lt;sys/time.hgt;
int main() {
  int lower  60, upper  100;
  int num  upper - lower   1;
  struct timeval tv;
  gettimeofday(tv, NULL);
  unsigned long long milliseconds_since_epoch 
      (unsigned long long)(_sec) * 1000  
      (unsigned long long)(_usec) / 1000;
  unsigned long long rand_num 
      (milliseconds_since_epoch ^ 0x5DEECE66DULL) % num   lower;
  printf("%llu

", rand_num);
  return 0;
}

上述代码中,我们使用gettimeofday()函数获取当前时间的毫秒数,并将其与一个常数异或运算。然后通过取余操作和加法调整生成的随机数,最终打印出来。

通过上述两种方法,我们可以在C语言中生成60到100之间的随机数。根据具体的需求和情况,选择合适的方法来使用。

总结:

本文详细介绍了C语言中生成60到100之间的随机数的方法,包括使用rand()函数和自定义算法两种方式。通过使用rand()函数和自定义算法,我们可以灵活地生成指定范围内的随机数,便于应用于不同场景中。

C语言 随机数生成 60到100 算法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。