【发布时间】:2009-06-11 05:02:39
【问题描述】:
我只是深入研究了一些 C++,我决定制作一个随机数生成器(数字有多随机,这真的无关紧要)。大部分代码都是从网上复制的,但我的新手眼睛看不出有什么问题,有什么办法可以调整它每次都给出“6”以外的数字?
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int random_number(int min, int max)
{
srand((unsigned)time(0));
int random_num;
int range=(max-min)+1;
random_num = min+int(range*rand()/(RAND_MAX + 1.0));
return random_num;
}
int main()
{
for(int i =0;i < 100;i++)
{
cout << random_number(3,10) << endl;
}
}
【问题讨论】:
-
如果你只播种一次会发生什么? IE。将 srand 移动到 main 函数中的循环之前?
-
6??不,不,随机数应该是 4 - xkcd.com/221