怎么用c++产生1000个0至999间的随机整数?

并且将以产生的顺序存入一个数据文件中

<stdlib.h>标准库提供了两个随机数函数
1. rand()随机函数,返回0-32767的随机值。该函数没有参数

2. srand(number)种子函数。要求一个无符号整型参数置随机数生成器的启动值。一般是采用系统时间作为参数,再调用一下time函数,time函数在<time.h>文件中定义,time(0)时间函数用0做参数时,返回用整型数表示的系统当前时间。

我一般就用第一个随机函数了,比较方便,建议第二个也了解一下,会用就行。

至于产生1000个0至999间的随机整数并且将以产生的顺序存入一个数据文件中就是
将产生的数据进行取整 rand()/1000 ——rand()产生了随机数,再除以1000进行取整得到0-999 的1000个整数(楼上那个说的除以999就会出现0-998的数)。顺序存储就用个for循环1000次就好,例如
for(i=0;i<1000;i++)
return rand()/1000;
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-17
srand(number)种子函数。要求一个无符号整型参数置随机数生成器的启动值。一般是采用系统时间作为参数,再调用一下time函数,time函数在<time.h>文件中定义,time(0)时间函数用0做参数时,返回用整型数表示的系统当前时间。

我一般就用第一个随机函数了,比较方便,建议第二个也了解一下,会用就行。

至于产生1000个0至999间的随机整数并且将以产生的顺序存入一个数据文件中就是
将产生的数据进行取整 rand()/1000 ——rand()产生了随机数,再除以1000进行取整得到0-999 的1000个整数(楼上那个说的除以999就会出现0-998的数)。顺序存储就用个for循环1000次就好,例如
for(i=0;i<1000;i++)
return rand()/1000;
第2个回答  2008-11-18
rand();//可以返回0~65535范围的平均分布的随机数据,可以用srand设定随机种子,然后将结果*999/65535取整就得到0~999范围的数据,然后写文件就行
===============================
感谢candytree2008指出的错误,取值范围确实错了,但是取整方法没有错的,我相当于把随机数变成[0,1]的闭区间平均分布,然后乘以需要的最大值MAX就可以得到[0,MAX]的闭区间平均分布:)

怎么用c++产生1000个0至999间的随机整数?
至于产生1000个0至999间的随机整数并且将以产生的顺序存入一个数据文件中就是 将产生的数据进行取整 rand()\/1000 ——rand()产生了随机数,再除以1000进行取整得到0-999 的1000个整数(楼上那个说的除以999就会出现0-998的数)。顺序存储就用个for循环1000次就好,例如 for(i=0;i<1000;...

如何用C++让计算机产生100个0-999之间的随机整数,并依次保存到数组中...
a[i]=rand()%1000; \/\/这个就可以产生0-999的随机数 \/\/cout<<a[i]<<" "; \/\/用于测试的输出 注释掉则不会输出到控制台窗口 } }

如何产生1000个从1到1000之间的不重复的随机数,用C语言实现!
define N 1000 \/* rand()产生一个伪随机数*\/ void main(){ int i=0,j,a[N]={-1},flag;while(i<N){ flag = 1 + N * rand()\/(RAND_MAX+1); \/*rand()\/RAND_MAX 该式表示所得到的是集合[0,1]中的随机数 若是使用rand()\/(RAND_MAX+1) 则可得到集合[0,1)中的随机数 1...

c++如何产生0到1之间的随机数?
C++中用来产生随机数的函数为rand(), 其返回值为整数。而0到1之间的随机数,明显是浮点数。这样无法直接产生。于是,必须经过转换。转换思路为,生成一个0-N的随机数,然后对其除以N+1,则可以得到0-1直接的浮点型随机数。N的确定,可以与要求的精度有关,比如需要三位小数,可以采用N=999,如需要...

随机生成100到999的整数,输出其中最大值和最小值。
min = 1000: max = 0 '设置初值 For i = 1 To 100 '循环100次 a(i) = Int(Rnd() * 1000 + 1) '用rnd生成一个随机数 由于rnd范围为0-1之间的小数.所以*1000设置他的范围为0到999之间 加1变成1到1000之间 If a(i) >= max Then max = a(i) '如果当前数值大于最大值的...

如何产生大随机数(0到100万之间)?
rand()函数取值在0~32767之间 用a=rand()%1001,取值就在0~1000之间 再b=rand()%1001,取值就在0~1000之间 两个数相乘,就是0到100 0000 之间的随机数 或者是 用a=rand()%1000,取值就在0~999之间a=a*1000 再b=rand()%1001,取值就在0~1000之间 再用a=a+b,a就是0到100 0000 之间的...

...编写一个程序,求所有的三位正整数(即100~999之间)中有多少个...
include<stdio.h> void main(){ int i,k=0;for(i=100;i<1000;i++){ k++;} printf("个数为:%d",k);}

c++ 中,产生一个随机的三位数是rand()%999+100么?求高手指点
rand()%999函数可以随机产生0-998之间的任意数再+100就是100--1098之间的任意数了,显然不对,你想要的是100-999之间的任意整数,可以用 rand()%900+100 谢谢,望采纳

计算机自动产生100-999之间100个随机数,从大到小排列,用至少两种算法完 ...
for(i=0;i<=99;i++)printf("%d\\n",a[i]);} \/\/直接法选择 include<stdio.h> include<stdlib.h> void main(){ int i,t,a[100];for(i=1;i<=100;i++)a[i]=rand();a[0]=a[1];for(i=1;i<=100;i++)if(a[i]>a[0]){ t=a[i];a[i]=a[i+1];a[i+1]=t;}...

c#中,怎么产生一个随机数?
使用Random 类生成一个随机数字。这里用循环来举例 for(int i=0;i<10;i++){ Random rd = new Random();Console.WriteLine(rd.Next(10,100).ToString());} 这个例子会得到10个相同的随机数,应循环完成的时间是非常短,所以根据系统时间作为种子算出的随机数就会是一样的。所以Random循环只适用...

相似回答