Random for循环中的if语句(随机数生成器) #包括 #包括 使用名称空间std; int main() { 无标记种子; 种子; srand(种子); 整数; 数字=兰德(); 整数计数; for(count=1;count=1&&number
在初始代码中,如果值超出了所需的范围(1-100),它仍会增加for循环中的count,但不会打印任何内容,因为该数字超出了范围。您需要--count;,以便从本质上告诉for循环“数字超出范围,因此不要计算该迭代次数,然后重试。"好吧,我现在有点明白了。但为什么程序总是打印一个数字或不打印数字?根据您的说法,它有时应该打印2、5、1、40个数字等等……或者不打印?谢谢您的回答,我现在明白了!不幸的是,我无法投票,因为我的声誉低于15。您可能的副本必须在Random for循环中的if语句(随机数生成器) #包括 #包括 使用名称空间std; int main() { 无标记种子; 种子; srand(种子); 整数; 数字=兰德(); 整数计数; for(count=1;count=1&&number,random,numbers,generator,Random,Numbers,Generator,在初始代码中,如果值超出了所需的范围(1-100),它仍会增加for循环中的count,但不会打印任何内容,因为该数字超出了范围。您需要--count;,以便从本质上告诉for循环“数字超出范围,因此不要计算该迭代次数,然后重试。"好吧,我现在有点明白了。但为什么程序总是打印一个数字或不打印数字?根据您的说法,它有时应该打印2、5、1、40个数字等等……或者不打印?谢谢您的回答,我现在明白了!不幸的是,我无法投票,因为我的声誉低于15。您可能的副本必须在中放入--count>else因为当随机数
中放入--count
>else
因为当随机数不在[1100]范围内时,您不想增加计数
。因此,在else
块中,您执行--count
并且在循环迭代中执行++count
时,方程变为((count-1)+1)=count
因此当数字不在[1100]范围内时,count
不会改变谢谢你的回答我现在知道了!不幸的是,我无法投票,因为我的声誉低于15。
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
unsigned seed;
cout << "Input a whole number between 0 and 65535 to\n initialize the random number generator: ";
cin >> seed;
srand(seed);
int number;
number = rand();
int count;
for (count = 1; count <= 20; count++)
{
if (number >= 1 && number <= 100)
{
cout << number << endl;
number = rand();
}
else
{
number = rand();
--count;
}
}
return 0;
}