如何用C++产生随机数?

 我来答
匿名用户
推荐于2017-11-26
展开全部
//需要使用rand()和srand()函数//rand()为随机数函数, 产生[0,int型最大值)之间的整数数//srand(seed);//为初始化随机数种子函数//具体例子如下#include<stdio.h> //标准(std)输入输出(io)库, 内含printf()函数
#include<stdlib.h>//标准(std)操作库(lib), 内含srand(),rand()函数
#include<time.h>//时间库(time), 内含time()系统时间函数int GetRand()//产生随机数的函数
{
srand(time(NULL)) ;//通过系统时间初始化随机数种子//如果不设置随机数种子,则每次rand()函数的起始值都一样.
int n = rand()%181+20 ;// rand()为随机数函数, 产生[0,int型最大值)之间的整数数, 此值依系统不同而不同, 一般为2147483648, 可认为无穷// 通过rand()%181+20转化为[20,200]之间的整数 (注:rand()%181产生[0,180]之间的整数)
return n ; //返回这个整数
}
int main() //主函数
{
printf("%d",GetRand()) ; //输出一个随机数
}//希望对你有帮助
匿名用户
2013-09-13
展开全部
#include <iostream>
#include <ctime>
#include <vector>
#include <algorithm>

using namespace std;

vector<double> Rnd( int N )
{
srand( (unsigned)time(NULL) ); //以当前系统时间来实现随机数种子
vector<double> v(N);
for(int i=0;i<N;i++)
{
v[i] = (double)(rand()%11)/10;
} //如果需要更精细,可以%101然后除以100,也可以%1001后再除以1000

return v;
}

int main()
{
vector<double> v = Rnd( 100 ); //这个100,可以手动输入哦。呵呵。
copy( v.begin(),v.end(),ostream_iterator<double>( cout," " ) );

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金创金GG
2019-11-24 · TA获得超过3.5万个赞
知道大有可为答主
回答量:1.2万
采纳率:32%
帮助的人:886万
展开全部
rand()这个函数就是产生随机数的,
想要一个范围的随机数,可以用取余数的方式
如取0~99之间的数,可以rand()%100
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
楠公小白L
2006-12-08 · TA获得超过525个赞
知道小有建树答主
回答量:362
采纳率:0%
帮助的人:413万
展开全部
正在开发审定中的 C++ 新版标准包括一个随机数生成器库,可以生成好几种常用随机分布类型的随机数。
不过传统的随机数函数还是标准 C 库中的 rand()。

// 设定随机数发生公式的种子值
srand( (unsigned)time( NULL ) );

// 获得随机数
int i = rand() % 4 + 1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式