C ++随机数[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我为一个数组创建了一个随机数生成器(介于100和1之间)但每次运行它都会输出1到100之间相同的10个数字。

for (int x=0; x < 10; x++) {
       arr[x]=rand() % 100 + 1;

循环运行10次,因为数组包含10个整数。每次我跑这个,它输出:42,68,35,1,70,25,79,59,63,65。

它从这行代码输出

 for (int z=0; z<10;z++) {
       cout << arr[z]<<", ";
 }

谁能明白为什么会这样?

c++ arrays for-loop
1个回答
0
投票

当使用rand()时,它将从给定输入到srand()生成相同的序列。换句话说,它通常会使用与初始种子值相同的生成数字。这些函数在使用时被认为是不受欢迎的,有些甚至希望它们被标记为deprecated,而不是现代的std伪随机数生成器库。

要生成随机数,请尝试使用<random>标头中的库。

你可以在这里找到文件:cppreference::random

© www.soinside.com 2019 - 2024. All rights reserved.