使用随机数函数随机生成0到99之间的10个整数,包括0到99
问问题
2162 次
1 回答
1
这很简单。您需要使用标准的 srand/rand 函数。看这个例子:
#include <cstdlib>
#include <iostream>
#include <ctime>
int main()
{
// initialize random generator, by current time
// so that each time you run - you'll get different values
std::srand(std::time(nullptr));
for(int i=0;i<10;i++)
{
// get rand number: 0..RAND_MAX, for example 12345
// so you need to reduce range to 0..99
// this is done by taking the remainder of the division by 100:
int r = std::rand() % 100;
// output value on console:
std::cout << r << std::endl;
}
}
这是使用 c++11 实现的现代变体。有些人更喜欢它:
#include <random>
#include <chrono>
#include <iostream>
int main()
{
auto t = std::chrono::system_clock::now().time_since_epoch().count();
std::minstd_rand gen(static_cast<unsigned int>(t));
for(int i=0;i<10;i++)
std::cout << gen() % 100 << std::endl;
}
于 2018-11-30T08:26:38.160 回答