求教一个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这两个数,如果想生成的话必须引入带时间种子的循环对么?
展开
 我来答
johnjohn000
推荐于2018-04-30
知道答主
回答量:8
采纳率:0%
帮助的人:5.3万
展开全部
rand()%10的话是生成0~9之间的随机数,想生成10或其他的话,就把10改成其他数值n,相当于生成0~n-1的随机数。
至于时间种子,是产生随机数的关键,根据当前本机设置时间的变化来改变随机数,没有这个的话,当然产生的数字只有固定一个了。这个时间种子,应该放在你的循环外面的。
创作者hNboIVl0dE
2020-05-30 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:32%
帮助的人:689万
展开全部
根据当前本机设置时间的变化来改变随机数rand()%10的话是生成0~9之间的随机数,应该放在你的循环外面的。这个时间种子,想生成10或其他的话,当然产生的数字只有固定一个了。
至于时间种子,没有这个的话,是产生随机数的关键,相当于生成0~n-1的随机数,就把10改成其他数值n
再看看别人怎么说的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a9aac05dc
2013-01-09 · TA获得超过139个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:138万
展开全部
你说的种子是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的~
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式