用指定范围内的随机数填充数组(C++)

Fill array with random numbers within a specified range (C++)

我正在编写代码,用 0 到 9 范围内的随机数填充大小为 10 个整数的数组。我的代码有效,但它用完全相同的随机整数填充所有 10 个槽,是否存在一种随机化每个数组项的整数的方法?

这是我的代码:

#include <iostream>
#include <ctime>
#include <time.h> 

using namespace std;

void initialize(int arr[], int size);


int main(){


    const int SIZE = 10;
    int myList[SIZE];

    initialize(myList, SIZE);
    
    return 0;

}

void initialize(int arr[], int size){
    
    srand(time(0));

    int random = (rand() % 9);

    for(int i = 0; i < size; i++){

            arr[i] = random;
    }

    for(int j = 0; j < size; j++){
        cout<<arr[j]<< endl;
    }
}
 

您在每次初始化中都使用了完全相同的整数。 for循环应该是这样的

    for(int i = 0; i < size; i++){

        arr[i] =  (rand() % 10);
     }

如果你想在范围内包括 9,你也应该写 %10。基于随机数生成的公式。 随机 = (rand() % (maxValue - minValue +1) +minValue;

 for(int i = 0; i < size; i++){

        arr[i] =  (rand() % 10);
     }