不是手动输入数组中的数字,而是如何在数组中随机生成这10个数字?他们可以在任何地方,只需要这10个数字
int array[length] = { 1000, 2000,3000,4000,5000,6000,7000, 8000, 9000, 10000};
答案 0 :(得分:1)
您可以使用std::shuffle
随机排列数组中数字的位置(改编自reference documentation sample):
const size_t length = 10;
int array[length] = { 1000, 2000,3000,4000,5000,6000,7000, 8000, 9000, 10000};
std::random_device rd;
std::mt19937 g(rd());
std::shuffle(std::begin(array), std::end(array), g);
shuffle()
调用后,值会显示在array
。
答案 1 :(得分:0)
如果您想使用非库算法,可以使用位于随机确定位置的另一个元素切换数组的每个元素。在代码中,它看起来像这样:
int array[length] = {1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000};
srand(time(NULL));
int randompos, temp;
for (int i = 0; i < length; i++) {
randompos = rand % 10;
temp = array[i];
array[i] = array[randompos];
array[randompos] = temp;
//here, you could have a cout << array[randompos] << " "; to test
}