我正在为学校创建一个程序,其工作原理如下:用户想到一个数字,计算机尝试猜测它。计算机生成一个随机数,询问用户数字是否更大或更低,如果数字更大,则将其设置为随机数范围的最小值(例如,生成 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)