|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求助:关于rand()的用法
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1094
人关注过本帖
标题:
求助:关于rand()的用法
只看楼主
加入收藏
joulejcc
等 级:
新手上路
帖 子:16
专家分:0
注 册:2005-12-24
楼主
收藏
问题点数:0 回复次数:3
求助:关于rand()的用法
前几天上课的时候老师给我们介绍了C语言中的一个rand()函数,说是可以随机产生0到1的数,但是我上机编写了一个程序,发现它并不是产生的0到1的数。我上网搜了一下,一些人说这个函数要和srand()一起使用,但是我把他们的程序编译不通过。那位要是知道就麻烦你教我一下。谢谢!
搜索更多相关主题的帖子:
rand
用法
2005-12-24 00:15
举报帖子
使用道具
赠送鲜花
吸血鬼王
等 级:
新手上路
帖 子:69
专家分:0
注 册:2005-12-17
第
2
楼
收藏
得分:0
可以这样: num=rand()/(rand()+0.1) 注意把num定义成float变量就可以了
2005-12-24 07:46
举报帖子
使用道具
赠送鲜花
ryxhh
等 级:
新手上路
威 望:
1
帖 子:63
专家分:0
注 册:2005-12-18
第
3
楼
收藏
得分:0
srand()是随机数种子,种子相同,产生的随机也相同,所以一般用时间函数time()作种子,这样就不会产生完全一致的随机数,如:
srand((unsigned)time(NULL));
产生的数为从1970年1月1日开始到现在时间的秒数.
rand()可以产生0到n之间的随机数,用法如下:
num=(int)(n*rnad()/RAND_MAX+1.0)
简单用法如:
num=rand()%n;
2005-12-24 09:26
举报帖子
使用道具
赠送鲜花
cleverfox
等 级:
新手上路
帖 子:12
专家分:0
注 册:2005-11-21
第
4
楼
收藏
得分:0
实际上来说rand()是伪随机数,它可以产生0——MAXINT之间的整数。使用srand的目的就是为了让每次产生的随机数不同。正如楼上的同志所写的,先使用srand,然后再用rand,这样就可以保证每次所产生的随机数不完全相同了。
举例:掷骰子
int num;
srand(time(NULL));
num = rand() % 6 + 1;
此时num产生的是1——6之间的整数,若要产生其他的数,方法类似
Fox
2005-12-25 19:00
举报帖子
使用道具
赠送鲜花
4
1/1页
1
快速回复:
求助:关于rand()的用法
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.029367 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved