=TIME(8,RANDBETWEEN(0,30),RANDBETWEEN(0,59))这个公式在03版excel应该怎么改?
答案:2 悬赏:0 手机版
解决时间 2021-10-07 18:41
- 提问者网友:嗝是迷路的屁
- 2021-10-07 00:33
=TIME(8,RANDBETWEEN(0,30),RANDBETWEEN(0,59))这个公式在03版excel应该怎么改?
最佳答案
- 五星知识达人网友:末日狂欢
- 2019-06-30 05:37
=TIME(8,INT(RAND()*31),INT(RAND()*60))
全部回答
- 1楼网友:行路难
- 2018-11-18 18:14
你把 srand(time(0)) 放到循环前面就可以了。
原因: time(0)返回的是系统的时间(从1970.1.1午夜算起),单位:秒,而那个循环运行起来耗时连0.000001秒都不到! 也就是说,srand(time(0)) 连着4次的种子是一样的,种子一样,生产的随机数当然是一样了。
如果你在把srand()放循环里面,在中间加个sleep函数,消耗一点时间(间隔大于1秒),那么生成的rand 就不一样了.但是这样做很不好,连着两次用srand生成的种子,间隔一样,生产的随机数间隔有会有规律性。
另:因为两次运行同一程序的时间肯定是不一样的,所以把srand放在循环前面可以得不同的种子,这样才能得到你想要的。
一个简单测试用的sleep函数 :
void sleep(void)
{ time_t goal;
goal = 1 * clocks_per_sec + clock(); //间隔1秒
while (goal > clock())
{
;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯