| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 527 人关注过本帖
标题:关于随机数的几点小问题
只看楼主 加入收藏
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
结帖率:84.38%
收藏
已结贴  问题点数:20 回复次数:7 
关于随机数的几点小问题
rand() % 100;
如题,这里表示什么意思,里面%100到底是什么意思?如a=rand() % 100,a所得到的随机数到底是什么样的?
从X到Y,有Y-X+1个数,所以要产生从X到Y的数,只需要这样写:
k = rand() % (Y - X + 1) +X;
这个语句如何和上面 rand() % 100;产生关系?
怎么理解啊?
 与之相关的srand((unsigned) time(&t));这个叫时间戳函数吧?怎么理解啊?

搜索更多相关主题的帖子: 如何 
2011-12-29 21:38
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
知道的同学给我解释啊,速度啊,谢谢了啊,内急啊,在线等啊.......

认为事物非黑即白是缺智慧的表现……
2011-12-29 21:43
wu615765239
Rank: 2
等 级:论坛游民
帖 子:3
专家分:27
注 册:2011-12-29
收藏
得分:7 
提取当前时间的数值除以两个数的差,再加上两个数中最小的那个,就能得到两个数之间的一个数,因为时间再变,所以每次取出的数不相同,楼主自己思考下,你懂的
2011-12-29 22:19
liao06550107
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:111
专家分:696
注 册:2011-10-2
收藏
得分:7 
在标准的C库中函数rand()可以生成0 - RAND_MAX之间的一个随机数,因为rand()函数是按指定的顺序来产生整数,因此每次执行rand()都得到相同值,所以说C语言的随机并不是真正意义上的随机,有时候也叫伪随机数。
为了使程序在每次执行时都能生成一个新序列的随机值,我们通常通过为随机数生成器提供一粒新的随机种子。函数 srand()(来自stdlib.h)可以为随机数生成器播散种子。只要种子不同rand()函数就会产生不同的随机数序列。srand()称为随机数生成器的初始化器。

k = rand() % (Y - X + 1) +X;与rand() % 100;没有关系;第一个k取值范围为[X,Y],而rand()%100表示取值范围[0,100)

srand((unsigned) time(&t))为根据系统时间改变随机种子,从而使同一个rand()不同时刻产生随机数变化。

听不同的音乐,看不同的书,游历不同的城市,邂逅不同的人,走的多了,站的高了,自然就看的远了。
2011-12-29 23:19
kuangfengjiw
Rank: 2
等 级:论坛游民
帖 子:20
专家分:77
注 册:2011-12-16
收藏
得分:7 
rand()是取0—最大数之间的一个随机数,%100是求这个随机数除以100后的余数,范围为[0,100);
rand() % (Y - X + 1)表示[0,Y-X+1)再加上x即是[x,y];
srand()它需要提供一个种子,这个种子会对应一个随机数,而time(&t)是取当前系统时间,所以srand(time(&t))的种子是一直变化的。。所以随机数出现相同的概率很小。
2011-12-31 15:52
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
嗯,谢了楼上几位。
奉上一个简单的产生随机数的程序
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main(void)
{
     int i;
     time_t t;
     srand((unsigned) time(&t));
     printf("Ten random numbers from 0 to 99\\n\\n");
     for(i=0; i<10; i++)
         printf("%d\\n", rand() % 100);
     return 0;
}

认为事物非黑即白是缺智慧的表现……
2012-01-02 19:33
chenyuncai
Rank: 2
等 级:论坛游民
帖 子:27
专家分:50
注 册:2011-11-9
收藏
得分:0 
呵呵,又了解一个小技术了,
2012-01-02 19:46
魏新建
Rank: 2
等 级:论坛游民
帖 子:55
专家分:86
注 册:2012-2-17
收藏
得分:0 
谢谢了,刚刚看到这个函数不太懂,看了之后懂很多了。
2012-03-09 14:43
快速回复:关于随机数的几点小问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017016 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved