#include <iostream>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL)); //initialize the random seed
while (true) {
const char arrayNum[4] = { '1', '3', '7', '9' };
int RandIndex = rand() % 4; //generates a random number between 0 and 3
cout << arrayNum[RandIndex];
}
}
当生成这些数字时,其中一些正在重复,我不想要这个。这是一种方法吗?
答案 0 :(得分:0)
您可以创建一个bool数组,指示索引是否已被使用。
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
srand(time(NULL)); //initialize the random seed
const char arrayNum[4] = { '1', '3', '7', '9' };
bool taken[4] = { false };
int RandIndex;
for(int i = 0; i < 4; i++){
do{
RandIndex = rand() % 4;
}while(taken[RandIndex]);
taken[RandIndex] = true;
cout << arrayNum[RandIndex];
}
}