c++用随机函数写出可以产生(45-89)范围内随机整数的程序
时间: 2024-02-17 18:04:02 浏览: 28
在 C++ 中,可以使用标准库中的 `rand()` 函数来生成伪随机数。为了生成在 [45, 89] 区间内的随机整数,可以使用以下代码:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
// 设置随机数种子为当前时间
std::srand(std::time(nullptr));
// 生成 [45, 89] 区间内的随机整数
int random_number = std::rand() % 45 + 45;
std::cout << random_number << std::endl;
return 0;
}
```
在上面的代码中,`srand()` 函数用于设置随机数种子,以便每次程序运行时生成的随机数序列都是不同的。`rand()` 函数用于生成一个 [0, RAND_MAX] 区间内的伪随机整数,其中 `RAND_MAX` 是一个常量,表示当前平台上 `rand()` 函数能够生成的最大随机数值。为了将生成的随机数映射到 [45, 89] 区间内,可以使用模运算和加法运算的组合,即
```
random_number = rand() % (89 - 45 + 1) + 45;
```
这里的 `(89 - 45 + 1)` 表示可选整数的总数,即 `45`、`46`、...、`89` 这 `45` 个整数。`%` 运算符将生成的随机数对这个总数取模,得到的余数范围是 [0, 44],再加上起始值 `45`,即可得到 [45, 89] 区间内的随机整数。