我昨天开始学习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。 如果我想查看存储在 Generated Number 中的数字,唯一出现的数字是最后一个(在本例中为 9(,并且出现了四次(在本例中为(。我很确定解决问题很容易,但老实说,我有点失去了耐心。 多谢!
替换
num = rand() % 10;
generatedNumbers[i] = num;
跟
while (i<10) {
num = rand() % 10;
generatedNumbers[i] = num;
i = i + 1;
}
并在调试器下逐步运行程序以了解正在发生的事情。