C++ random函数
时间: 2023-12-07 09:35:32 浏览: 78
C++中的random函数可以用来生成随机数。它需要包含头文件<cstdlib>,并且可以通过设置随机数种子来控制随机数的生成。以下是一个简单的例子:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
// 设置随机数种子为当前时间
std::srand(std::time(nullptr));
// 生成10个随机数
for (int i = 0; i < 10; i++) {
std::cout << std::rand() << std::endl;
}
return 0;
}
```
在上面的例子中,我们使用了std::srand函数来设置随机数种子,它需要一个整数参数。我们使用std::time函数来获取当前时间,并将其转换为整数作为种子。这样每次运行程序时,种子都会不同,从而生成不同的随机数序列。
相关问题
c++ random函数库
C++11引入了一个新的随机数库,可以生成更高质量的随机数。这个库提供了几个类和函数来生成不同分布的随机数。下面是一个使用C++ random库生成均匀分布随机数的例子[^2]:
```cpp
#include <iostream>
#include <random>
#include <vector>
std::vector<unsigned> good_randVec() {
std::random_device rd;
std::mt19937 e(rd());
std::uniform_int_distribution<unsigned> u(0, 9);
std::vector<unsigned> ret;
for (size_t i = 0; i < 100; i++) {
ret.push_back(u(e));
}
return ret;
}
int main() {
std::vector<unsigned> v1(good_randVec());
std::vector<unsigned> v2(good_randVec());
std::cout << ((v1 == v2) ? "equal" : "not equal") << std::endl;
return 0;
}
```
这个例子中,我们使用了`std::random_device`来获取真正的随机数种子,然后使用`std::mt19937`作为随机数引擎,`std::uniform_int_distribution`来生成均匀分布的随机数。每次调用`good_randVec`函数都会生成不同的随机数序列,因此`v1`和`v2`不会相等。
c++ random函数用法
C语言中的random()函数是一个能够生成随机数的函数。该函数需要引用stdlib.h头文件,可以通过传入一个种子以生成指定范围内的随机数。
要使用random()函数,首先要通过srand()函数来设置一个种子值。该种子值通常是以时间为基础的,因此每次运行程序时种子值都会不同,生成的随机数也会不同。
例如,要生成一个范围在0到99之间的随机整数,代码如下:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i, num;
srand(time(0)); //设置种子值
for(i=0; i<10; i++)
{
num = rand()%100; //生成0到99范围内的随机整数
printf("%d\n", num);
}
return 0;
}
```
其中,srand(time(0))函数使用了time()函数来获取当前时间作为种子值,以保证每次生成的随机数都不同。rand()%100则用来生成0到99之间的随机整数。
可以看到,随机数在每次程序运行时都会变化,保证了随机性。虽然random()函数不能生成真正随机的数,但对于一般的应用已经足够使用了。
阅读全文