srand((unsigned)time(NULL));这个函数实际有什么用有例子最好 5
3个回答
展开全部
计算机生成的随机数实际上是“伪随机数”,因为它并非真正“随机”。
当 随机数“种子值”固定时,它生成的随机数序列是固定的。
例如 第一次产生 41 67 34 0 69 14, 第二次,第三次...产生的还是41 67 34 0 69 14。
没有 srand() 这句,就是用 默认 种子值。
用 srand((unsigned)time(NULL)); 就是用当前时间秒数(从1970年到现在的时间间隔,单位秒)为种子。
时间变,种子就变,产生的 随机数序列 就变化。增进了“随机性”。
用别的方法设种子当然也可以,例如 写
srand(54321); for (i=0;i<10;i++) x[i]=rand()%100;
srand(678910); for (i=0;i<10;i++) y[i]=rand()%100;
当 随机数“种子值”固定时,它生成的随机数序列是固定的。
例如 第一次产生 41 67 34 0 69 14, 第二次,第三次...产生的还是41 67 34 0 69 14。
没有 srand() 这句,就是用 默认 种子值。
用 srand((unsigned)time(NULL)); 就是用当前时间秒数(从1970年到现在的时间间隔,单位秒)为种子。
时间变,种子就变,产生的 随机数序列 就变化。增进了“随机性”。
用别的方法设种子当然也可以,例如 写
srand(54321); for (i=0;i<10;i++) x[i]=rand()%100;
srand(678910); for (i=0;i<10;i++) y[i]=rand()%100;
展开全部
用时间作为种子随机生成随机数
srand(unsigned(time(0)));
hp2 = rand()% 10;//rank2+1)*5;
exp2 = rand()% 10;//rank2+1;
rank2 = rand()% 10;//10+1;t
money2 = rand()% 50;//rank2+1;
damage2 = rand()% 10;//rank2+1;
}
srand()和rand()要配着使用
srand(unsigned(time(0)));
hp2 = rand()% 10;//rank2+1)*5;
exp2 = rand()% 10;//rank2+1;
rank2 = rand()% 10;//10+1;t
money2 = rand()% 50;//rank2+1;
damage2 = rand()% 10;//rank2+1;
}
srand()和rand()要配着使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为rand函数根据运行程序时的系统时间不同而建一个种子,如果没这句那么每次运行程序取到的随机数都是一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询