我在生成随机数的程序上工作,我想将数字存储在数组中

时间:2019-09-02 20:08:25

标签: c++ arrays random numbers

我昨天开始学习C ++,现在我尝试创建一个程序,该程序生成应存储在数组中的随机数。问题在于它仅存储最后生成的数字。这是我的代码(很抱歉,它看起来很糟糕-可能确实如此):

int num = 0;
int i = 0;
int generatedNumbers[10];

int main()
{
    srand(time(NULL));
    num = rand() % 10; 
    generatedNumbers[i] = num; 
    if (num != 0) {
        cout << num << endl;
        return choice();
    } else {
    main();
    }
}

int choice() {
   [.....USELESS STUFF....]
                cout << generatedNumbers[i] << endl;
}

因此,假设程序生成数字:3、1、8、9。如果我想查看存储在generateNumbers中的数字,则出现的唯一数字是最后一个数字(在本例中为9),它出现四个时间(在这种情况下)。我敢肯定,解决问题非常容易,但老实说,我有点失去耐心了。 非常感谢!

1 个答案:

答案 0 :(得分:1)

替换

num = rand() % 10; 
generatedNumbers[i] = num;

使用

while (i<10) {
    num = rand() % 10; 
    generatedNumbers[i] = num;
    i = i + 1;
}

然后逐步在调试器中运行程序,以了解发生了什么。