c++ random函数用法
时间: 2023-06-05 22:47:25 浏览: 486
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()函数不能生成真正随机的数,但对于一般的应用已经足够使用了。
相关问题
random函数用法
random函数是一个常见的用于生成随机数的函数,在不同的编程语言中都有自己的实现。一般而言,random函数会返回一个在指定范围内的随机数。以下是一些常见编程语言中random函数的用法示例:
Python:
```python
import random
# 生成一个0-1之间的随机浮点数
random.random()
# 生成一个指定范围内的随机整数
random.randint(1, 10)
# 生成一个指定范围内的随机浮点数
random.uniform(1, 10)
```
Java:
```java
import java.util.Random;
Random random = new Random();
// 生成一个0-1之间的随机浮点数
random.nextDouble();
// 生成一个指定范围内的随机整数
random.nextInt(10) + 1;
// 生成一个指定范围内的随机浮点数
random.nextDouble() * 9 + 1;
```
C++:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
srand(time(0)); // 初始化随机数生成器
// 生成一个0-1之间的随机浮点数
double rand_num = (double)rand() / RAND_MAX;
// 生成一个指定范围内的随机整数
int rand_int = rand() % 10 + 1;
// 生成一个指定范围内的随机浮点数
double rand_float = (double)rand() / RAND_MAX * 9 + 1;
```
c++random的用法
C++ 中的 random 是一个用于生成随机数的库。它包含了多个函数和类,可以用于生成不同分布的随机数。下面是一些常用的 random 函数的用法示例:
1. 生成均匀分布的随机数:
```cpp
#include <iostream>
#include <random>
int main() {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(1, 10);
for (int i = 0; i < 5; ++i) {
std::cout << dis(gen) << " ";
}
return 0;
}
```
2. 生成正态分布的随机数:
```cpp
#include <iostream>
#include <random>
int main() {
std::random_device rd;
std::mt19937 gen(rd());
std::normal_distribution<> dis(0.0, 1.0);
for (int i = 0; i < 5; ++i) {
std::cout << dis(gen) << " ";
}
return 0;
}
```
这些示例中,我们首先使用 `std::random_device` 来获取一个随机设备,然后使用 `std::mt19937` 初始化一个随机数生成器。然后,我们使用不同的分布类(如 `std::uniform_int_distribution` 和 `std::normal_distribution`)来生成不同类型的随机数。
值得注意的是,这些示例只是演示了 random 库的一小部分功能,你可以根据自己的需求进一步探索和使用其他函数和类。希望对你有所帮助!