社区
C++ 语言
帖子详情
取1~500之间的随机数,怎么实现(C++实现)?谢谢~
8250089
2006-03-28 03:28:02
是用rand()吗?
它没有参数,应该怎么实现?
谢谢~
...全文
1060
26
打赏
收藏
取1~500之间的随机数,怎么实现(C++实现)?谢谢~
是用rand()吗? 它没有参数,应该怎么实现? 谢谢~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
26 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yuanchuang
2006-03-29
打赏
举报
回复
Jiana(Robin.English):
不好意思,是我看错题目了。
我在这个论坛上不知犯过多少次这样的错误了,可是一直没有能改过来
努力改ing
dong8848
2006-03-29
打赏
举报
回复
学习一下。
fabio210
2006-03-28
打赏
举报
回复
#include <time.h>
srand((unsigned)time(NULL));
rand()/double(RAND_MAX)*500+1.0;
shark0001
2006-03-28
打赏
举报
回复
偶认为 要看谁的编译器了,有的编译器产生的rand()是0--1
而有的则不是,我用的VC,在VC里面,先来一个srand(1)(任意整数,随机数,假设)
则int k = rand(); k就是一个任意大小的随机数,如果你想要1-500之间的可这像楼上说的那样,
来一个k = k%500+1;
gooderfeng
2006-03-28
打赏
举报
回复
就是rand的问题,怎么弄的这么复杂。
srand一般使用时间做种子比较好。
hlnumber1
2006-03-28
打赏
举报
回复
我来解释一下:
伪随机函数:rand() 返回值: 0~32767之间的一个整数
随机化函数 srand(unsiged int seed) 随机化种子,种子值不同可使rand产生不同的随机序列
hlnumber1
2006-03-28
打赏
举报
回复
你们没有给人家讲srand()是干什么的
Jiana
2006-03-28
打赏
举报
回复
int n;
int d;
srand(time(NULL));
d = (int)(double)rand() / ((double) RAND_MAX +1);
n = d * 500+1;
怎么错了?
Jiana
2006-03-28
打赏
举报
回复
1~500
你那是0-500
yuanchuang
2006-03-28
打赏
举报
回复
Jiana(Robin.English):
哈哈,看来你没有看懂我的代码的意思啊。
经你这么一改,那就不对了。
Jiana
2006-03-28
打赏
举报
回复
恩
yuanchuang(元创)
的方法比我的好些,去掉0就可以
改
int n;
double d;
srand(time(NULL));
d = (double)rand() / (double) RAND_MAX ;
n = d * 500+1;
Jiana
2006-03-28
打赏
举报
回复
上面的rand()的问题是从0-500,改
for(int i=10;i>0;i--) cout<<(rand()*500)/RAND_MAX+1<<" ";//这里是所要的随机数
由于有比其它数要小的概率产生501,自己判断去掉501
duanliyu
2006-03-28
打赏
举报
回复
在vc环境下:
#include<iostream>
#include<stdlib.h>
#include<time.h>
void main()
{
int m=0;
srand((unsigned)time(NULL));//以时间为种子
for(int i = 0;i<=9;i++)//假如要得到10个随机数
{
m=rand()%500;
cout<<"第"<<(i+1)<<"个数是:"<<m<<endl;
}
}
yuanchuang
2006-03-28
打赏
举报
回复
for(int i=10;i>0;i--) cout<<(rand()*500)/RAND_MAX<<" ";//这里是所要的随机数
-----------------------------------------------------------------------
此种方法行不通,(rand()*500)会越界。
Jiana
2006-03-28
打赏
举报
回复
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
time_t t;//先取时间
srand((unsigned)time(&t));//以时间为种子
rand();//抛弃第一个
for(int i=10;i>0;i--) cout<<(rand()*500)/RAND_MAX<<" ";//这里是所要的随机数
yuanchuang
2006-03-28
打赏
举报
回复
int n;
double d
srand(time(NULL));
d = (double)rand() / ((double) RAND_MAX + 1);
n = d * 501;
Jchangcheng
2006-03-28
打赏
举报
回复
rand()是虚随机的,也可说程序中实现的随机都是虚随机,它是有规律的。
虚随机是怎么实现的~~??自己查看。
iamcaicainiao
2006-03-28
打赏
举报
回复
除以500,得0到499之间。故而加1。
rand()函数生成的数并不很随机,加个时间。
flyrain000
2006-03-28
打赏
举报
回复
rand()函数生成的数并不很随机
8250089
2006-03-28
打赏
举报
回复
rand()函数它是那个范围的随机数阿〉??
加载更多回复(6)
C++
利用 rand(1,8)
实现
随机生成 1-5 / 利用 rand(1,5)
实现
随机生成 1-8 /
实现
随机数
生成的转换
C++
利用rand(1,8)
实现
随机生成1-5/利用rand(1,5)
实现
随机生成1-8/
实现
随机数
生成的转换。
使用
C++
生成
随机数
:STL中的
随机数
引擎+分布
本文介绍
C++
随机数
引擎及分布,并介绍了产生
随机数
的步骤及示例。
在给定范围中
取
不重复的
随机数
在给定范围中
取
不重复的
随机数
随机
取
m个数(在1到n的范围之内),(m<=n),要求m个数没有重复。有没有什么好的算法,时间复杂度和空间复杂度都很好? 方法一:用STL中的set集,红黑树来处理
取
随机数
可以用
C++
标准的rand,至于M个不重复,用std::set来解决,把
取
到的
随机数
插入到set里面,通过set的size()==m来判断是否已
取
够m个了。 #include...
随机产生100个数,3到1000
之间
,找出其中最大最小值,c语言,c语言
随机数
(c语言生成1~100
随机数
)...
最低0.27元开通文库会员,查看完整内容> 原发布者:水瓶酒窝哥
随机数
的产生方法瑞达路水瓶酒窝哥由于老师布置了产生
随机数
的作业,要求编一个程序能够产生0000到.我是这么写的: unsigned int a; int i; scanf("%u",&a); srand(a); for(i=0;iC语言中有自己的
随机数
函数rand() 其原型为 int rand(); 功能为获
取
一个随...
c语言random函数在vc,
C++
中随机函数random函数的使用方法
C++
中随机函数random函数的使用方法一、random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。 可改用
C++
下的rand函数来
实现
。1、
C++
标准函数库提供一
随机数
生成器rand,返回0-RAND_MAX
之间
均匀分布的伪随机整数。 RAND_MAX必须至少为32767。rand()函数不接受参数,默认以1为种子(即起始值)。
随机数
生成器总是以相同的种子开始,所以形成...
C++ 语言
64,663
社区成员
250,516
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章