成都创新互联网站制作重庆分公司

c语言中的随机函数编程,c语言中的随机函数编程是什么

C语言的,随机函数

要用srand()函数设置一个随机数种子

“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 创新互联是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于网站建设、成都网站设计、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!

例1:

#include stdlib.h

#include iostream

#include time.h

using namespace std;

int main()

{

srand( (unsigned)time( NULL ) ); // 随机数种子产生

int i=rand()%100-1; // 产生100以内的随机数并赋给i

coutiendl;

getchar();

return 0;

}

例2:

#include stdio.h

#include stdlib.h

main()

{

int seed=1000; // 种子

int i;

int m[16] ;

int nn=0;

double r;

printf("enter seed please\n");

scanf("%d",seed);

srand(seed); // 初始化随机数生成器

for (i=0;i=15;i++) m[i] = 0;

while (nn 10 ){

// r 是双精度浮点随机数,范围0.0到1.0

r = ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );

i =(int) ( r * 15.0);

if (m[i] == 0) {

m[i] = 1; nn = nn + 1;

printf("%d ",i);

};

}

}

C语言随机函数怎么弄

C++的随机函数

C++/c语言里,是没有办法得到一个真正的随机数序列的.想要等到一个真正的随机数序列,必须使用特定的随机数硬件发生器.也就是说,软件是没有办法产生真正的随机数.因为软件必须按照一定的逻辑来编写.既然是按照特定的逻辑(也就是说算法)来编写 ,那么产生的运算结果就是一定的.这一点,就是软件天生的特性.想想看,如果一个软件,同样的代码喝条件下,每次运行的结果不一样,那还有谁会用?

所以,在C++/C语言中,就有了"伪随机数"的概念.意思也就是说,通过一个特定的算法,产生一个假的随机数序列.那么,程序员又希望这个随机数序列跟接近真正的随机数序列,也就是希望得到的序列的不一样,所以有了一个"播种"的概念.

srand(unsgined int seed);

这个函数就是用来"播种"的.通过一个"种子"(SEED),来控制随机数的序列不一样.只要种子不一样,那么通过rand()得到的随机数序列就不一样.反过来说,如果种子一样,那么通过srand()得到的随机数就是一样的.

srand(0);

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

{

coutrand()' ';

}

你试着将这个程序执行两次,你会发现两次的结果一样。那是因为,一旦“种子”确定了,那么这个随机数序列就确定了。软件天生的“行为可重复性”决定了这一点。

所以,一般在播种的时候,喜欢用一个随机的种子.在绝大多数的情况下,会使用当前的系统时间.这个数字在每次程序运行的时候都不一样.除非你手动的改系统时间.

编程时有时需要随机输入一些数,这是调用随机函数可以完成此相命令.

# include “stdio.h”

# include “stdlib.h”

# include “time.h” /*需引用的头文件*/

srand((unsigned)time(NULL)); /*随机种子*/

n=rand()%(Y-X+1)+X; /*n为X~Y之间的随机数*/

进一步解释

srand()设置随机数种子,rand()得到随机数

random()的函数原型为int random(int num)

它的作用是Returns an integer between 0 and (num-1)

而randomize的函数原型为void randomize(void)

它的作用是Initializes the random number generator with a random value.

它们的区别是前者限定随机数的产生范围,而后者这完全是随机的,另外使用这两个函数时

应含入

#include stdlib.h

#include time.h

头文件。

一个例子:

用法如下:

#include stdlib.h

#include stdio.h

#include time.h

void main( void )

{

int i,k;

srand( (unsigned)time( NULL ) ); //用系统时间当种子,对随机函数进行初始化

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

{

k=rand()%100; //产生各个随机数

printf( " k=%d\n", k );

}

}

再抄个~

在VC中设计到随机数有两个函数

srand() and rand()

srand() 的作用是是一个种子,提供每次获得随机数的基数而已,rand()根据种子而产生随机数

注意

1:srand() 里的值必须是动态变化的,否则得到的随机数就是一个固定数

2:其实可以不用写srand() ,只用rand()就可以了,省事,简单,例子如下

如果我们想得到一个 0-60的随机数那么可以写成

int i;

i=rand()%60;

就可以了。

当然最好有个统一的标注如下:

int i;

srand((unsigned)time( NULL ));

i=rand()%60;

这样就OK了

例题随机取数,取1到99之间

1、#include iostream.h

#include stdlib.h

#include time.h

int main()

{

int n;//n为随机数

srand(time(NULL));

n=1+rand()%99;

coutn;

return 0;

}

2、#includeiostream.h

#includestdlib.h

#includetime.h

void main()

{

int a;

srand((unsigned) time(NULL));

a=rand()%99+1;

couta;

}

3、#include iostream.h

#include stdlib.h

#include time.h

void main()

{

int j;

srand((unsigned)time(NULL));

loop:

j=rand()%100;

if(j==0)

{

cout"error"endl;

goto loop;

}

else coutjendl;

}

4、如果象楼上的你的那种做法做下去

那应该是100%而不是98%

你一定是少了

srand(...........);

其实这个程序也不错

#include iostream

#include cstdlib

using namespace std;

int main()

{

int counter;

for(counter=0;counter10;counter++)

{

srand(counter+1);

cout"Random number"counter+1":"rand()endl;

}

system("pause");

return 0;

}

5、#include iostream.h

#include stdlib.h

int main()

{

int shu =100;

int n;//n为随机数

srand(shu);

n=rand() % shu;

coutn;

return 0;

}

不拿时间作随机数,可以设一个种子数不清100这样就产生0~99间的随机数。

不过我没有测试从复率,谁测了告诉我一下。

c语言随机数函数是什么?

C语言随机函数主要用于实现一组随机数的生成。

代码示例如下:

#includestdio.h

#includestdlib.h

int main ()

{

int a;

a=rand()%4;

printf("%d\n",a);

return 0;

}

C预先生成一组随机数,每次调用随机函数时从指针所指向的位置开始取值,因此使用rand()重复运行程序产生的随机数都是相同的,可以通过srand()函数来改变指针位置。

扩展资料:

C语言随机函数指针位置

void srand( unsigned int seed )

改变随机数表的指针位置(用seed变量控制)。一般配合time(NULL)使用,因为时间每时每刻都在改变,产生的seed值都不同。

基于毫秒级随机数产生方法:

#includewindows.h

种子设为:srand(unsigned int seed);

srand(GetTickCount());

参考资料:百度百科-C语言随机函数

请问c语言中的随机函数怎么用?

rand()函数 返回值是产生一个随机数,这个返回值虽然是随机数,但是可能会发现,每回产生的都一样,比如:

#include iostream

using namespace std;

void main()

{

for(int i=0;i3;i++){

coutrand()endl;

}

}

运行程序后发现,产生的随机数,虽然每次运行程序时是随机数,但是,后来再运行程序,发现与上几次结果一样。

这是因为,随机数的起始值都一样。

为了产生真正的随机数,就应该设置随机数的起始值,这个要利用srand()函数。

将上面程序改为:

#include iostream

using namespace std;

void main()

{

cout"请输入随机数的起始值"endl;

int num;

cinnum;

srand(num);

for(int i=0;i3;i++){

coutrand()endl;

}

}

运行程序 就会发现 输入的起始值不同,产生的随机数就不同。

当然 也可以产生时间随机数,这个要用到c语言time.h中的程序,这个可以供你自己思考,自己解决问题,乐趣更多呢~呵呵~

啰嗦这么多 希望对您有所帮助!

C语言中的rand()函数怎么用

rand()

rand()函数用来产生随机数,但是,rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的。

rand()会返回一个范围在0到RAND_MAX(至少是32767)之间的伪随机数(整数)。

在调用rand()函数之前,可以使用srand()函数设置随机数种子,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1。随机种子相同,每次产生的随机数也会相同。

rand()函数需要的头文件是:stdlib.h

rand()函数原型:int rand(void);

使用rand()函数产生1-100以内的随机整数:int number1 = rand() % 100+1。

srand()

srand()函数需要的头文件仍然是:stdlib.h

srand()函数原型:void srand (usigned int seed);

srand()用来设置rand()产生随机数时的随机数种子。参数seed是整数,通常可以利用time(0)或getpid(0)的返回值作为seed。

使用rand()和srand()产生1-100以内的随机整数:

srand(time(0));

int number1 = rand() % 100+1。


本文名称:c语言中的随机函数编程,c语言中的随机函数编程是什么
网址分享:http://cxhlcq.com/article/dsggdog.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部