如何创建一个从 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;
}
Run Code Online (Sandbox Code Playgroud)
免责声明: 这是一种生成随机数的快速而肮脏的方法,因为它可能无法完全均匀地生成数字,并且如果( 的上限)定义为小于目标范围,rand您将遇到一些问题。在现代 C++ 中,最好使用标头,按照问题生成随机数在整个范围内均匀分布。RAND_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]
}
}
Run Code Online (Sandbox Code Playgroud)
哦,一定要尽量避免goto(至少在我看来)。这里有两个 问题。