c++中关于随机数的问题

我想要得到100到200之间的随机数,应该怎么写呢?还有就是得到的是真正的随机数吗?图片说明

7个回答

随机数并不是真正的随机数,称之为伪随机数,不过和随机数的差别不是很大,需要100到200的随机数,直接int a=math.random()*100+100,就能得到

Look_world_
Look_world_ 哦 谢了
接近 3 年之前 回复

然鹅,rand%100()+100得到的范围其实是100~199吧。。。。。
应该是rand%101()+100;

Riccce_Ks
ajego9283 回复Nanaya_lei: 是哦 谢谢大佬指正
接近 3 年之前 回复
Nanaya_lei
Nanaya_lei 说的的确很有道理,但是你括号打错位置了
接近 3 年之前 回复

每太听懂意思
按照我对你问题的理解就这样

 #include <bits/stdc++.h>
using namespace std;
int main()
{
    srand(time(NULL));
    printf("%d %d\n",rand() % 100,rand() % 200);
    return 0;
}
Look_world_
Look_world_ 谢谢 我懂了
接近 3 年之前 回复
Nanaya_lei
Nanaya_lei 好吧我理解有误,应是rand()%100 + 100
接近 3 年之前 回复

rand%100()+100

目前计算机产生的随机数都是伪随机数,根据具体的算法得到的(可以认为是随机数)

#include<math.h>包含time()函数原型。
#include<stdlib.h>包含rand()和srand()函数原型。
//生成[0,1]之间的随机数
double random()
{
return (double)rand()/RAND_MAX  ;//rand()(生成闭区间[0,RAND_MAX]的随机均匀整数,转换成double型
//#define   RAND_MAX    0x7FFF,
}
}
//生成M到N的随机整数
int random_M_N(int m,int n)
{
    return (int)(random()*(n-m)+m);
}
//当n,m较小时比较试用
int main()
{
srand(time(NULL));//初始化随机种子,种子相同的话,随机数序列相同<只需要在程序开头调用一次,不要重复调用,也不要不调用
int M=100,
int N=200;
random_M_N(M,N);
return 0;
}

#include
#include //包含srand的头文件
#include //包含time的头文件
using namespace std;

int main() {

srand(time(NULL)); //生成随时间变化的随机数
cout<<rand()%101+100<<endl; //随机数对101取余,相当于0-100的随机数,再加上100,所以是100到200之间的随机数。

}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于C的随机数问题
想实现一个可以自动产生9个随机的四种箭头(→←↑↓)例如(←↑↓→←↑↓←↑) rn#include rn#include rn#include rn rnmain() rn rn int i,a rn for(i=1;i<=9;i++) rn rn srand((unsigned)time(NULL)); rn a=rand()%4+23; rn printf("%c",a); rn rn rn rn以上是我写的部分代码,但是输出的9个箭头都是一样的很是郁闷啊恳请高手指点
关于C中随机数的一个问题
为了节约大家的时间,我用最少的文字来描述我的疑惑。rn之前我在写程序遇到随机数问题时通常用这种方法实现:rn[code=c]rnsrand((unsigned) time(NULL));rnrnfor(i = 0; i < n; i++)rn array[i] = rand() % 10;rnrn[/code]rn事实上也的确符合我的需求。但是今天我在写一个稍大些的程序使用相同方式时,发现了这个让我不知所措的情形:rn1.首先,我在运行代码时,发现两个随机生成的数(简称value_1 value_2)总是相同的(如下图)rn[img=https://img-bbs.csdn.net/upload/201505/16/1431748306_805772.png][/img]rn随后,我在进行跳步调试,打印输出结果发现,输出结果又完全符合我的需求rn[img=https://img-bbs.csdn.net/upload/201505/16/1431748852_255206.png][/img]rn2.我知道srand的生成随机数的机制是根据时间来生成的,所以我怀疑是运行时程序完成太快时间消耗太少导致的。但实际上更短的程序(正如最上边的代码)有时可以生成不同的随机数的。rnrn因此我想请教各位前辈,您是怎样看待这种运行时出错,而调试输出反而正常的随机数错误的。谢谢大家。
关于turbo c 的随机数问题
在用C的rand()函数时rn总是输出一个或一组固定的数rn起不到随机的效果。rn如何可以实现呢?rn不吝赐教。rn是要设种子数吗?如果是,怎么设呢?谢谢!
c/c++中随机数的问题
本人在做作业时遇到了有关随机数的问题,希望各位大虾能帮小弟解决.rn现在想生成100万个随机电话号码,对于这些随机数有如下要求:rn(1) 号码长度从7位到13位不等。rn(2) 电话号码必须为前缀码,即一个号码不能是另一个号码的前半部分。如0104568,010456897就不是一组合格的电话号码。rn(3) 每个电话号码对应一个人名,人名不超过10字符。rn(4) 将生成的电话号码与对应人名写入文本文件,每一行写一个号码以及对应人名。rn哪位大虾能帮帮小弟啊,跪谢了rn
C中随机数的产生
我是新手,在看C的书。我只知道SRAND可以初始化,然后用RAND产生随机数,但要产生特定范围的随机数该如何做啊?(例如1-7之间的随机整数),希望大家帮忙了。
c中随机数
↓ #include &quot;stdlib.h&quot; #include &quot;stdio.h&quot; #include &quot;time.h&quot; srand ---- 随机种子 srand( (unsigned)time( NULL ) ) -- 原型 rand ---产生随机数 用rand()随机生成在 x,y (闭区间) 内的 正数 k=x+ran...
C 中随机数的产生
我是新手,在看C的书。我只知道SRAND可以初始化,然后用RAND产生随机数,但要产生特定范围的随机数该如何做啊?(例如1-7之间的随机整数),希望大家帮忙了。
关于java中的随机数的问题
每次循环的随机数都是一样,我怀疑红箭头所指的地方可能出现错误,谁知道怎么解决?![图片](https://img-ask.csdn.net/upload/201706/08/1496882031_515972.jpg)![图片](https://img-ask.csdn.net/upload/201706/08/1496882045_189291.png)![图片](https://img-ask.csdn.net/upload/201706/08/1496882076_472118.jpg)
c++中关于随机数的问题
我想要得到100到200之间的随机数,应该怎么写呢?还有就是得到的是真正的随机数吗?![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/32.gif)
关于随机数中随机数种子的问题
随机数的种子也可以称之为伪随机数。之所以称之为伪是因为现在的随机数假的的。 伪随机数是以一个称为“种子”的数作为初始条件,通过固定的算法产生一个看上去像是随机产生的数字序列的。 每一次定义随机数种子的时候,会在后面标注一下一个数字,相当于一个标记 如:seed(123) 如果这一次产生 100 个随机数 下一次你还需要该一百个随机数的时候,可以直接通过 seed(123)调用出来。 ...
vc中关于随机数的问题
vc中可以用哪个函数来产生随机数啊?rn
SQL中关于随机数问题
数据表中记录如下:rnrn学号 姓名 年级 班级rn1 周伟 2001 3rn2 刘伟 2001 3rn3 夏可 2001 3rn4 小雄 2001 1rn5 周涛 2002 3rn6 朱伟 2002 3rn7 刘江 2001 1rn8 王海 2001 3rn我想在年级为2001,班级为3的所有记录中随机选取3条记录,而且这三个不能重复。请问,各位这个怎么实现?这个SQL语句怎么写?
关于C++中随机数的问题
random产生的是伪随机数rn如果需要种子,srand()又和时间有关rn我现在所用的编译器又不支持C++11rn所以求各位大侠rn如果快速生成大量随机数,有没有改良的方法或者思路???
C语言随机数问题
在1到40里面取8个数,而每次取都不允许有重复,这个不能重复我却想不到有什么好的方法去消除重复,请问各位高手有什么好方法?
关于通用c语言随机数函数的问题
楼主最近写一个小程序需要随机数,又不了解,就先把网上的函数拿来用了一会rn[code=c]int try_rand(int i1,int i2) //i1,i2 = min,maxrn return(rand()%i2+i1);rn[/code]rn用着用着发现每次产生的数都一样,就在用之前加了个srand(time(NULL)),可是又遇到了新的问题rn楼主那个小程序在用到随机数的部分是这样的:rn[code=c] void make_map(void) rn srand(time(NULL));rn for(int i=0; i
关于C的随机数也随机种子
//srand(time(0));rn for (int i = 0; i < 1000; ++i)rn rn int b=rand();rn printf("num is %d\n", b);rn rn rn我发现用不用随机种子,都能得到随机数。。那这个种子,是干嘛用的。
关于《C语言参考手册》中的随机数函数的问题
在《C语言参考手册》(机械工业出版社2003年8月第1版,原书第五版,作者Samuel P.Harbison III, Guy L.Steele Jr., 译者:邱仲潘)第291页(原书第411页)中有这样一句话:rn“标准c语言库函数不会以任何可能影响用户看到的伪随机数系列的方式调用rand或srand。”rn我读了几遍都没读通,是什么意思?
C 随机数
需要用到的函数 头文件 #include &amp;lt;stdlib.h&amp;gt; #include &amp;lt;time.h&amp;gt; 函数 int rand(void); void srand (unsigned int n); time(time_t* const _Time); 使用方法 rand()函数返回0到RAND_MAX之间的伪随机数(pseudorandom)。RAND_MAX常量...
随机数.c
#include &amp;lt;stdio.h&amp;gt; int main() { int a[10] = {0}; int i = 0; srand(time(NULL)); for (i = 0; i &amp;lt; 10; ++i) { a[i]= rand() % 10; // 1 - N } for...
在c中怎么实现随机数
在c中怎么实现随机数
关于随机数问题?
我的程序是 win32 DLL,如下代码:rnrnsrand(12);rnrn该函数产生随机数的起始发生数据,然后我会根据这个起始发生数据(或种子)用rand()生成N个随机数。rnrnrn但是,我的程序其它功能也需要用到随机数,并且需要重新选取起始发生数据,假如我再次 srand(8);然后还再rand()生成N个随机数,请问能不能不影响第一次的随机数顺序?怎么实现两路随机数互不相干的进行?类似多线程或者多进程。。rnrnrn
求助,关于随机数问题
请问怎么随机产生 0xDA 0x3D 0x28 0x6E 0x18 0xF5 0x0A 0x0E 0x2C 0xFE 0xDA 0x50 0x87 0x4F 0X9D 0X76 这样的16个16进制的数字呀?并把他保存到一个数组中,高手帮忙写下代码把? 非常感谢!
关于sql随机数问题
我想使一个主键字段 每插入一条数据 就随机生成一个数 就像标示列那样rn比如说插入银行用户信息 就自动生成一个银行卡号rn 请问下大家怎么实现rn
关于随机数的问题
为什么随机数产生函数rand()在没有运行randomize()的时候产生的随机数序列是一样的??而在randomize()初始化以后运行rand()就不会出现这个情况??
关于随机数的产生问题
我知道是用下面两个函数rnsrand((unsigned)time(NULL));rndir=rand();rn但是我的问题是按系统时间取种子的时间多长时间换一次。。rn我现在要实现几个人物随机移动的问题。。rn每次都行动1象素。。rn但是每次那几个人物的移动方向都一样。。。
关于C++随机数的问题
今天写程序,一个小疏忽,发现了一个有意思的问题,想来想去,还是没有想明白。帖出来大家讨论一下。rnrn下面这段代码能够产生正常的随机数:rn[code=C/C++]int i,k; rn srand((unsigned)time(NULL)); rn for(i=0;i<30;i++) rn rn k=rand()%100+1; rn printf("%d \n", k ); rn [/code]rnrn可是如果将[code=C/C++]srand((unsigned)time(NULL)); [/code]移到for循环里面,会产生一组一模一样的数出来。rnrn[color=#FF0000]不太清楚为什么会是这样。[/color]rnrn另外,如果将代码[code=C/C++]srand((unsigned)time(NULL)); [/code]直接去掉,也能正常产生随机数,这又是为什么呢?rnrn注:我用的编译器是DEV C++。
关于生成随机数的问题。
生成随机数a,b.a,b要在一定的区间内,且a+b=1(a,b都是大于0的).下面是我写的代码,很傻很山寨的那种。rn[code=C/C++]rndouble randf() rn rn return (double)(rand()/(double)RAND_MAX); rnrnrnvoid Radom(double aMin,double aMax,double bMin,double bMax,double&a,double&b)rnrn srand(time(NULL)); rn while(1)rn rn a=randf();rn if(aaMin)rn rn b=1-a;rn if(bbMin)rn rn break;rn rn rn rn rnrnrnint main(int argc, char* argv[])rnrn double a,b,c;rn Radom(0,0.5,0.3,0.7,a,b);rn printf("%f %f\n", a,b);rn return 0;rnrn[/code]rn这是别人叫我帮他做的,刚拿到需求,我也很纳闷,生成两个在一定范围内的随机数,且要求这两个随机数的和为1.rn我也只想到这种方法,特来请教
关于随机数的问题~~~~~~
srand((unsigned)time(NULL));rnX=rand%100;rn我发现X好象是随时间的增加而有规律的增加?rn有什么办法可以做到真正意义上的随机数,还有就是random为什么不能使用,出现错误,rn好象是没有声明?
关于随机数的产生问题?
//看下面这个程序,为什么每次产生的随机数都相同呢?rn//请说明原因?如何使每次产生的随机数不相同呢?rn//最好有原代码rn/**************谢谢**************************/rnrnrn///////////////////////////////////////////rn/*利用rand()函数,观察0--9随机数的分布情形*/rn///////////////////////////////////////////rn//===========================================================rn//Program Name: shuijishu.cpprn//Simple random number generatorrn//===========================================================rnrn#include rn#include rn#include rnconst int Number = 10;rnrnclass RandomNumberrnrn int rannumber[Number];rnpublic:rn void generate();rn void display();rn;rnrn//rn//产生10个不同的随机数rn//rnrnvoid RandomNumber::generate()rnrn for(int i = 0; i < Number; i++)rn rannumber[i] = rand() % 10;rnrnrn//rn//显示随机数rn//rnvoid RandomNumber::display()rnrn for (int i = 0;i < Number; i++)rn cout << setw(3)<
一个关于随机数的问题?
我要实现生成一个13位数的数字,前8位是年份后面5位是递增数字从00001开始,怎么办?如今天是20070810,生成第一个为2007081000001,第二个为200708100002....
关于随机数的算法问题?
rnvoid CGuessDlg::OnButton1() rnrn int temp,pnum[35],num[7]; //临时变量,临时数组rn for(int i=0;i<35;i++) //共有36个数组元素rn pnum[i]=i+1;rn//***选号***//rn for(i=0;i<7;i++)rn rn srand( (unsigned)time( NULL ) );rn temp=rand(); rn temp=temp%36+1; //得到一个1-36的数rn while(pnum[temp]==0)//如果此元素以被选过则重选rn rn srand( (unsigned)time( NULL ) );rn temp=rand();rn temp=temp%36+1;rn rn num[i]=temp; //选定一个号码rn pnum[temp]=0; //给该元素置0,表示已被选过,如再有视为无效。rn rn以上算法是www.vchelp.net 上的专栏作者雷神的彩票算法,他求的是7位数,rn但我发现 当求超过10位数 时就会死机?rn我发现问题的关键在于 While 循环,请教大家有没有好的算法 ?
问个关于随机数的问题
比如说我现在有一个会员表rn里面有1000个会员rn我要在里面随机选出一个有头像的女人rn这样怎么做?
新手问题:关于随机数
int a;rnint b;rna=new random().next(1,14);rnb=new random().next(1,14);rnrn为什么总是a=b;rn有什么好的办,让其不相等。
关于随机数的问题,帮忙!
想得到0到14之间的随机双精度数,还要求在0到14之间分布的比较平均!rn谁有好的办法?rn谢谢!
关于生成随机数的问题
用VB.NET怎样才能实现下面的功能:rn生成几千万不重复的随机数,并快速放入数据库中.要求效率要高.
关于产生随机数的问题~~
#include rn void main( void ) rn rn int i; rn rn for( i = 0; i < 10;i++ ) rn std::cout<
关于随机数的问题.......
用Rand()可以产生一个随机数,但是重复的?请问怎样设置种子呢???rn设置好以后,产生的随机数的范围又是什么呢??rn请指教一下~~
关于产生随机数的问题
建立存储过程,ID为四位数,产生序列号(Serial)为四位随机数+ID.求助各位高手,改怎么写这个存储过程~
关于随机数的一个问题
请问用random怎样产生一个1949——2003之间的随机数啊。谢谢
关于随机数的问题--简单
private sub form_load()rn dim n1 as integerrn n1=int(10*rnd)rn picture1.print n1rnend sub rn为什末第一次运行出现的数和的二次一样rn还有rn如何在picture满的时候自动向下。
相关热词 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法 c# gmail 发邮件 c# 多层文件