一 C++11前的写法
#include <cstdlib>
int i = 10;
srand(time(0));
while (--i > 0) {
std::cout << rand() % 10 << std::endl;
}
二 C++11 随机数
#include <random>
#include <ctime>
#include <iostream>
int main() {
int i = 20;
std::default_random_engine engine;
while (--i > 0) {
std::uniform_int_distribution<int> distribution(1, 100);
std::cout << distribution(engine) << std::endl;
}
getchar();
return 0;
}
或者
int i = 20;
while (--i > 0) {
std::default_random_engine engine(time(0));
std::uniform_int_distribution<int> distribution(1, 100);
std::cout << distribution(engine) << std::endl;
}
注意,以下写法是一个固定的随机值。
int i = 20;
while (--i > 0) {
std::default_random_engine engine;
std::uniform_int_distribution<int> distribution(1, 100);
std::cout << distribution(engine) << std::endl;
}
三 参考
本文介绍了两种使用C++生成随机数的方法:一种是C++11之前的传统方式,利用srand和rand函数;另一种是C++11引入的新方法,采用std::default_random_engine和std::uniform_int_distribution来生成指定范围内的随机整数。
1142

被折叠的 条评论
为什么被折叠?



