用C加加重复执行获取随机数
时间: 2023-05-30 09:01:52 浏览: 148
以下是一个重复执行获取随机数的示例代码,每秒获取一个随机数:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <chrono>
#include <thread>
using namespace std;
int main() {
srand(time(NULL)); // 初始化随机数生成器
while(true) {
int random_num = rand() % 100; // 获取0-99之间的随机整数
cout << "Random number: " << random_num << endl;
this_thread::sleep_for(chrono::seconds(1)); // 暂停1秒
}
return 0;
}
```
在上述代码中,我们首先使用`srand(time(NULL))`来初始化随机数生成器。然后使用`rand() % 100`来获取0-99之间的随机整数。然后使用`cout`输出随机数。最后,使用`this_thread::sleep_for(chrono::seconds(1))`暂停1秒,以便程序每秒获取一个随机数。
相关问题
用C加加制作一个重复执行取随机数的程序
以下是用C++制作的一个重复执行取随机数的程序:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL)); // 设置随机数种子为当前时间
for (int i = 0; i < 10; i++) // 重复执行10次
{
int num = rand() % 100 + 1; // 取1-100之间的随机数
cout << "第" << i+1 << "次随机数为:" << num << endl;
}
return 0;
}
```
程序中使用了C++的标准库函数srand和rand来生成随机数。srand函数用于设置随机数种子,而rand函数则用于生成随机数。在本程序中,设置了随机数种子为当前时间,以保证每次运行程序时都能得到不同的随机数序列。程序通过循环来重复执行取随机数的操作,并输出每次取到的随机数。运行程序,可以得到类似以下的输出:
```
第1次随机数为:62
第2次随机数为:98
第3次随机数为:10
第4次随机数为:87
第5次随机数为:50
第6次随机数为:72
第7次随机数为:54
第8次随机数为:7
第9次随机数为:18
第10次随机数为:38
```
C加加 生成一系列不重复的随机数
你可以使用C++的标准库中的`<random>`头文件来生成一系列不重复的随机数。具体实现可以使用如下代码:
```c++
#include <iostream>
#include <random>
#include <ctime>
#include <algorithm>
using namespace std;
int main()
{
// 设置随机种子
srand((unsigned)time(NULL));
// 生成随机数引擎
std::mt19937 rng;
rng.seed(std::random_device()());
// 生成随机数分布
std::uniform_int_distribution<int> dist(1, 100);
int n = 10;
int arr[n];
// 生成n个不重复的随机数
for (int i = 0; i < n; i++) {
int num = dist(rng);
while (std::count(arr, arr + n, num) != 0) {
num = dist(rng);
}
arr[i] = num;
}
// 输出结果
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
在上面的代码中,我们首先通过`srand()`函数设置随机种子,然后通过`std::mt19937`生成随机数引擎,最后使用`std::uniform_int_distribution`生成随机数分布。接下来,我们生成n个不重复的随机数,具体实现方式是在每次生成随机数之后,判断该随机数是否已经在数组中出现过,如果已经出现过,则继续生成,直到生成一个新的随机数为止。最后,我们将结果输出到屏幕上。
阅读全文