我想要一个介于1到6之间的四个值的表.
我正在使用: rand() % 6 + 1;
这应该给出1到6之间的值.
除非rand()
生成值0.
我一直得到7分.我不想要任何7个
兰德的范围是多少?我如何阻止它生成任何0值?
替代解决方案非常受欢迎.
我的老师给了我们使用"随机"的线索.
我们在学校使用Borland C++ Builder 5.
我在家里使用Dev-C++ 5.3.0.3.
我发现它们如何工作有一些差异,我觉得很奇怪..
我不能使用random(),它给了我未在范围内声明...
int main (){
int I;
int Fasit[3];
srand (time(NULL) );
for(I=0; I<4; I++) {
Fasit[I]=rand() % 6 + 1;
}
std::cout << Fasit[0] << " " << Fasit[1] << " " << Fasit[2] << " " << Fasit[3] << " ";
return 0;
}
Run Code Online (Sandbox Code Playgroud)我得到的一些价值观:
2 6 1 7
5 2 1 4
5 2 1 4
5 2 1 4
1 3 1 6
5 3 3 7
5 3 3 7
5 3 3 7
Run Code Online (Sandbox Code Playgroud)
7应该不可能,应该吗?
PS:我知道我的印刷品是火腿,一旦数字生成,我会让它变得更优雅.
比较这些线:
int Fasit[3];
for(I=0; I<4; I++) {
Fasit[I]
Run Code Online (Sandbox Code Playgroud)
您声明一个包含三个条目的数组,您可以将其写入四次.
再试一次你的程序,但是:
int Fasit[4];
Run Code Online (Sandbox Code Playgroud)