在c++类里生成随机数
时间: 2023-10-29 20:15:00 浏览: 102
在 C 语言中,可以使用标准库函数 `rand()` 生成伪随机数。使用该函数需要包含头文件 `<stdlib.h>` 。
下面是一个简单的示例代码,生成 0~99 范围内的随机整数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int random_number;
// 设置随机数种子,一般使用当前时间作为种子
srand(time(NULL));
// 生成随机数
random_number = rand() % 100;
printf("随机数: %d\n", random_number);
return 0;
}
```
需要注意的是,为了防止每次程序运行生成的随机数相同,需要先使用 `srand()` 函数设置随机数种子。一种常见的方法是使用当前时间作为种子,这样每次运行程序生成的随机数就不同了。可以使用头文件 `<time.h>` 中的 `time()` 函数获取当前时间。
相关问题
c++中如何生成随机数
在 C 语言中,可以使用标准库中的 rand() 函数来生成随机数。具体步骤如下:
1. 在程序中包含头文件 stdlib.h。
2. 使用 srand() 函数对随机数生成器进行初始化。srand() 函数需要一个参数,用于设置随机数生成器的种子值。通常可以使用 time() 函数返回的当前时间作为种子值。示例代码如下:
srand((unsigned int)time(NULL));
3. 调用 rand() 函数生成随机数。rand() 函数返回一个介于 0 和 RAND_MAX 之间的随机整数。可以使用模运算将其限制在指定范围内。例如,要生成介于 1 和 100 之间的随机数,可以使用如下代码:
int random_num = rand() % 100 + 1;
完整示例代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand((unsigned int)time(NULL));
int random_num = rand() % 100 + 1;
printf("随机数为:%d\n", random_num);
return 0;
}
C++不用ctime生成随机数
可以使用C++11中的`<random>`头文件中的随机数生成器来生成随机数,这种方法比使用`ctime`更为安全和高效。以下是一个例子:
```c++
#include <iostream>
#include <random>
int main()
{
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(1, 6);
for (int i = 0; i < 10; ++i) {
std::cout << dis(gen) << ' ';
}
std::cout << std::endl;
return 0;
}
```
`std::random_device`是一个设备,用于生成真正的随机数种子。`std::mt19937`是一个随机数生成器,使用Mersenne Twister算法生成随机数。`std::uniform_int_distribution`是一个分布,它将随机数分布在指定的范围内。
这个例子中,我们使用`std::uniform_int_distribution`生成一个1到6之间的随机整数,并将其输出到控制台。
阅读全文