3

如何创建一个从 1 -> 生成十个随机数的程序RAND_MAX

RAND_MAX必须是用户输入的数字。

#include <iostream>
#include <stdlib.h>

int main()
{
    using namespace std;
    int x;
    int y;


    Random:
    {
        x = rand();
        cout << x << endl;
    }

    y = y + 1;
    if (y == 10) {
        return 0;
    }

    goto Random;
}
4

1 回答 1

5

免责声明: 这是一种生成随机数的快速而肮脏的方法,因为它可能无法完全一致地生成数字,如果(的上限)被定义为小于您的目标范围rand,您会遇到一些问题。在现代 C++ 中,最好使用标题,根据问题Generate random numbers uniformly over an entire rangeRAND_MAXrand<random>


就像是:

int main()
{
  int randMax;
  cin >> randMax;
  for (int y = 0; y < 10; y++)
  {
    int x = rand() % randMax; // Range = [0, randMax)
    cout << x+1 << endl; // Range = [1, randMax]
  }
}

哦,一定要尽量避免goto(至少在我看来)。这里有两个 关于它的问题。

于 2013-03-01T14:39:37.673 回答