【发布时间】:2020-03-10 18:59:04
【问题描述】:
正在进行一项练习,我认为我已经非常接近正确了。提示要求我让用户说出他们想要生成多少个随机数,然后生成那么多随机数。为简单起见,我将随机数设为 0-1000。我们也在练习使用文件,所以我们希望将其写入文件。
#include <iostream>
#include <fstream>
#include <ctime>
int main()
{
int userinput,i, N, rdnum[N];
std::ofstream ofs;
std::cout << "How many random numbers do you want to generate?\n";
std::cin >> N;
srand(time(0));
rdnum[N] = rand() % 1001;
ofs.open("rand_numbers.txt");
if (!ofs)
{
std::cout << "Open error\n";
exit(0);
}
else if (ofs.good())
{
for (i = 0; i < N; i++)
{
std::cout << "Random numbers: " << rdnum[i] << std::endl;
ofs << rdnum[i] << std::endl;
}
}
}
谢谢!
【问题讨论】:
-
您当前没有在代码中使用
std::vector。你想使用std::vector吗? -
请参阅here 了解如何在循环中生成随机数,了解here 了解如何将元素添加到向量中。您还可以查看std::rand 和std::vector 参考页面。
-
@John 如果可能的话,我不想使用向量,尽管有人已经建议使用它可能会更好。在课堂上我们现在正在使用数组,我们甚至还没有接触过向量。这是一门非常初级的课程。
-
@John 我会检查一下,谢谢!
-
看起来你已经知道如何在你的输出循环中遍历数组,所以我会说你应该做同样的事情来生成你的随机值。遍历数组,在每次迭代时生成一个随机值,并将该值分配给数组的当前索引。