这只是好奇心的问题,我在想,如果我在 开始时使用C++ rand()函数srand(time(0))
,它会生成所有不同的随机数,所以我尝试过会发生什么,当给定数组的sizeof大得多时,例如给定两个整数范围内的元素数量,当数组被声明为int a [100]时,以及从[15 75]中随机数的范围时,我想知道代码应该给我错误像有更多的数字比范围或类似的东西,但它产生了随机重复值为什么?这里是代码重复的随机数
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main(){
int min=15;
int max=75;
int a[100];
srand(time(0));
for (int i=0;i<100;i++) {
a[i]=min+rand()%(max-min+1);
}
for (int i=0;i<100;i++) {
cout<<a[i]<< " ";
}
return 0;
}
“它会产生所有不同的随机数” - 你为什么这么认为? – Howard
我不明白你的问题。它是什么? –
你能否明确告诉我们你会期望什么样的顺序?显然你做了一些错误的假设,但目前还不清楚。 – leftaroundabout