【问题标题】:C++, twenty numbers not random? [closed]C++,二十个数字不是随机的? [关闭]
【发布时间】:2010-01-29 02:22:55
【问题描述】:

为什么我的 C++ 数字不是随机的?

#include <iostream>
#include <cstdlib>
using namespace std;


int main()
{
    int randomNumber = rand() % 100;


    for (randomNumber = 0; randomNumber < 20; randomNumber++)
    {

        cout << randomNumber << endl;
    }
    return 0;
}

//Why are my 20 numbers not random?

【问题讨论】:

    标签: c++ random


    【解决方案1】:

    您正在为 randomNumber 分配一个随机值,然后在 for 循环中用数字 0 到 19 覆盖它。在你的循环之前,你有一个随机数。

    【讨论】:

      【解决方案2】:

      每次需要随机数时都需要调用 rand()。正如您现在所拥有的那样,您正在生成一个随机数,然后将其递增并打印 20 次,这样您将获得 20 个连续数。

      试试类似的东西

      srand(time(NULL)); // Seeding the random number generator
      
      for(int i=0; i<20; ++i)
      {
          cout << (rand() % 100) << endl;
      }
      

      随机数生成器的种子很重要,否则每次运行程序时都会生成相同的数字。

      【讨论】:

      【解决方案3】:

      您需要正确设置随机数生成器的种子,然后您需要反复调用 rand() 来获取新的随机数。

      例如:

      srand(time(NULL));
      for (int randomNumber = 0; randomNumber < 20; randomNumber++) 
      { 
      
          cout << (rand() % 100) << endl; 
      } 
      

      【讨论】:

        【解决方案4】:

        你需要在 srand() 中使用 time() 函数作为种子,然后使用 rand()。

        srand(time(NULL));
        

        顺便说一句,您没有打印 rand() 结果,请在 srand 调用之后使用它:

        for (int i= 0; i < 20; i++)
        {
            int randomNumber = rand() % 100;
            cout << randomNumber << endl;
        }
        

        【讨论】:

          【解决方案5】:
          #include <iostream>
          #include <cstdlib>
          using namespace std;
          
          int main()
          {
              for (int i = 0; i < 20; i++)
              {
                  int randomnumber = rand() % 100;
                  cout << randomNumber << endl;
              }
              return 0;
          }
          

          附:我希望这是一个笑话:(

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-06-22
            • 2011-11-07
            • 1970-01-01
            • 2010-12-30
            相关资源
            最近更新 更多