小编Eth*_*n A的帖子

如何生成一定范围内的随机数?

我正在为学校创建一个程序,其工作原理如下:用户想到一个数字,计算机尝试猜测它。计算机生成一个随机数,询问用户数字是否更大或更低,如果数字更大,则将其设置为随机数范围的最小值(例如,生成 47,则只会生成介于 47 和 47 之间的数字) 47-100)。如果数字较小,则采用生成的随机数并将其设为最小值。

我的问题是随机数生成器和范围。我可以通过在开始处播种来生成随机数 { srand(time(NULL));} 然后生成一个数字 { rand_num = rand()%100; } 生成 1-100 之间的数字。但我不知道如何生成一个范围内的数字(示例 47-89)。以为是 {rand_num = rand()%89 + 47},但这似乎不起作用。

Github:https://gist.github.com/EthanA2020/e121b27ab80fa6e2d32df1396e62b632

{

    srand(time(NULL));
    do {
    rand_num=rand()%47+89;
    cout << rand_num << endl;
    cout << "enter: "; cin >> userquitval;
    }while (userquitval!=7);
}
Run Code Online (Sandbox Code Playgroud)

c++ random range codeblocks

-1
推荐指数
1
解决办法
5741
查看次数

标签 统计

c++ ×1

codeblocks ×1

random ×1

range ×1