
求教一个C语言随机数生成的问题~
现在自己想了一个这样的问题:如果我先定义一个ifn<9就继续循环,然后我用随机数生成函数rand()%10随机生成0-10的整数,即1,2,3,...10因为rand如果...
现在自己想了一个这样的问题:
如果我先定义一个 if n<9 就继续循环,
然后我用随机数生成函数 rand()%10 随机生成0-10的整数,即1,2,3,...10
因为rand如果不引入时间种子的话 生成的随机数始终是一样的,假如我这个rand函数初始生成数为6,我想问一下,这个循环是不是就成了死循环了?
也就是说 if(n<9) n=rand%()10,用这个句子是生成不了9或者10这两个数,如果想生成的话必须引入带时间种子的循环对么? 展开
如果我先定义一个 if n<9 就继续循环,
然后我用随机数生成函数 rand()%10 随机生成0-10的整数,即1,2,3,...10
因为rand如果不引入时间种子的话 生成的随机数始终是一样的,假如我这个rand函数初始生成数为6,我想问一下,这个循环是不是就成了死循环了?
也就是说 if(n<9) n=rand%()10,用这个句子是生成不了9或者10这两个数,如果想生成的话必须引入带时间种子的循环对么? 展开
3个回答
展开全部
rand()%10的话是生成0~9之间的随机数,想生成10或其他的话,就把10改成其他数值n,相当于生成0~n-1的随机数。
至于时间种子,是产生随机数的关键,根据当前本机设置时间的变化来改变随机数,没有这个的话,当然产生的数字只有固定一个了。这个时间种子,应该放在你的循环外面的。
至于时间种子,是产生随机数的关键,根据当前本机设置时间的变化来改变随机数,没有这个的话,当然产生的数字只有固定一个了。这个时间种子,应该放在你的循环外面的。
展开全部
根据当前本机设置时间的变化来改变随机数rand()%10的话是生成0~9之间的随机数,应该放在你的循环外面的。这个时间种子,想生成10或其他的话,当然产生的数字只有固定一个了。
至于时间种子,没有这个的话,是产生随机数的关键,相当于生成0~n-1的随机数,就把10改成其他数值n
再看看别人怎么说的。
至于时间种子,没有这个的话,是产生随机数的关键,相当于生成0~n-1的随机数,就把10改成其他数值n
再看看别人怎么说的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的种子是srand,这是在调用rand之前先设置好随机种子的,例如:
int main(void)
{
srand(time(0));
int n = 0;
while(true)
{
if(n<9) n = rand()% 10;
else break;
}
}
另外,rand()%10生成的数字是0-9的~
int main(void)
{
srand(time(0));
int n = 0;
while(true)
{
if(n<9) n = rand()% 10;
else break;
}
}
另外,rand()%10生成的数字是0-9的~
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询