| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 655 人关注过本帖
标题:请教随即函数
只看楼主 加入收藏
heliujin
Rank: 2
等 级:论坛游民
帖 子:249
专家分:14
注 册:2006-3-14
结帖率:100%
收藏
 问题点数:0 回复次数:5 
请教随即函数
一直想了解C++中的随即函数 请大家能不能帮我写个简单的小程序用MAIN就行了
具体点就是随即产生几个数就可以了 很容易的 希望各位高手指点指点小弟了 谢谢大家了
搜索更多相关主题的帖子: 函数 MAIN 
2006-05-07 11:59
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
http://www.bc-cn.net/bbs/dispbbs.asp?boardID=56&ID=56867&page=3
需要的函数头
和相关语句都有呀

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-05-07 12:58
heliujin
Rank: 2
等 级:论坛游民
帖 子:249
专家分:14
注 册:2006-3-14
收藏
得分:0 

谢谢 我进去看了 有一个srand(time(0));
这个语句是什么意思啊?
能详细的教一教小弟吗?谢谢各位高手了

2006-05-07 13:09
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
这是种子分配器,有了他,你随机产生的数才不会有那种简单的规律

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-07 13:39
ituse
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-5-6
收藏
得分:0 
#include <stdio.h>

#include <iostream>

#include <time.h>

using namespace std;

#define MAX 100

int main(int argc, char* argv[])

{

srand( (unsigned)time( NULL ) ); //srand()函数产生一个以当前时间开始的随机种子

for (int i=0;i<10;i++)

cout<<rand()%MAX<<endl; //MAX为最大值,其随机域为0~MAX-1

return 0;

}

C++用的rand()函数产生随机数,范围从0到RAND_MAX, 在<stdlib.h>中有这样一个定义:

#define RAND_MAX 0x7fff //就是32767了

如果需要产生n到m范围内的随机整数,可以:
int ans=rand()*(m-n)/RAND_MAX+n;

通常rand()产生的随机数在每次运行的时候都是与上一次相同的,这是有意这样设计的,是为了便于程序的调试。若要产生每次不同的随机数,可以使用srand( seed )函数进行随机化,随着seed的不同,就能够产生不同的随机数。

如大家所说,还可以包含time.h头文件,然后使用srand( time(0))来使用当前时间使随机数发生器随机化,这样就可以保证每两次运行时可以得到不同的随机数序列(只要两次运行的间隔超过1秒)。

[此贴子已经被作者于2006-5-7 17:44:54编辑过]


2006-05-07 17:28
daringqq
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-5-9
收藏
得分:0 

明白了

2006-05-09 12:24
快速回复:请教随即函数
数据加载中...
 
   



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

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