c++怎么生成七个不重复的数字
时间: 2024-10-07 17:01:44 浏览: 22
在C++中生成七个不重复的随机整数,可以使用`<random>`库结合`std::vector`来实现。以下是一个简单的示例,它首先创建一个包含0到某个最大值(如100)的范围,并从中随机选择7个不重复的数字:
```cpp
#include <iostream>
#include <random>
#include <vector>
int main() {
const int max_num = 100; // 可根据需要调整这个最大值
std::random_device rd;
std::mt19937 gen(rd()); // 使用Mersenne Twister算法生成随机数
std::uniform_int_distribution<> dis(0, max_num); // 定义均匀分布
// 创建一个动态大小的向量存储结果
std::vector<int> unique_numbers;
while (unique_numbers.size() < 7) { // 循环直到得到7个不重复的数
int num = dis(gen);
if (std::find(unique_numbers.begin(), unique_numbers.end(), num) == unique_numbers.end()) {
unique_numbers.push_back(num); // 如果数不在向量中,则添加
}
}
for (const auto& number : unique_numbers) {
std::cout << number << " ";
}
std::cout << "\n";
return 0;
}
```
运行此程序会输出七个0到max_num之间的不重复随机整数。注意,如果max_num小于等于7,那么可能无法生成7个不重复的数字。
阅读全文