在c++类里生成随机数
时间: 2023-10-29 09:15:00 浏览: 41
在 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()来生成随机数。需要注意的是,rand()函数生成的随机数是伪随机数,即生成的随机数是根据一个固定的算法计算出来的,所以每一次程序运行时生成的随机数序列都是相同的。
以下是一个生成随机数的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
// 初始化随机数种子
srand(time(NULL));
// 生成10个随机数
for(int i = 0; i < 10; i++) {
int num = rand();
printf("%d\n", num);
}
return 0;
}
```
在上述代码中,srand()函数用于初始化随机数种子,time(NULL)函数返回当前时间的秒数,作为随机数种子的初始值,使得每次程序运行时生成的随机数序列都不同。rand()函数用于生成随机数,返回值是一个整型数字。在这个示例代码中,我们生成了10个随机数,并将它们输出到屏幕上。
需要注意的是,由于rand()函数生成的随机数范围比较大,通常需要将其取模(使用%运算符)来缩小范围。例如,如果要生成0到99之间的随机数,可以使用rand() % 100。
c++生态分布生成随机数
为了在C++中生成正态分布的随机数,可以使用C++标准库中的`<random>`头文件中的`normal_distribution`类。该类的构造函数需要两个参数:均值和标准差。然后,可以使用该类的`operator()`方法生成正态分布的随机数。
以下是一个示例代码:
```c++
#include <iostream>
#include <random>
int main() {
// 设置随机数生成器
std::random_device rd;
std::mt19937 gen(rd());
// 设置正态分布的均值和标准差
double mean = 0.0;
double stddev = 1.0;
std::normal_distribution<double> dist(mean, stddev);
// 生成正态分布的随机数
for (int i = 0; i < 10; ++i) {
std::cout << dist(gen) << std::endl;
}
return 0;
}
```
该代码使用`std::random_device`生成随机数种子,然后使用`std::mt19937`作为随机数生成器。接下来,设置正态分布的均值和标准差,并使用`std::normal_distribution`类生成正态分布的随机数。最后,使用`operator()`方法生成随机数并输出。