您的位置:首页 > 编程语言 > C语言/C++

C语言产生随机数,个人理解

2015-01-16 14:27 155 查看
关于C语言产生随机数的文章网上很多

其实只需要下边三个函数即可

srand();

time( );         

rand();

需要添加头文件

#include<stdlib.h>

#include<time.h>

但是我自己尝试了一下,每次产生的数都一样

我的做法如下

#include <stdlib.h>

#include <stdio.h>

#include <time.h>           //使用当前时钟做种子

unsigned char RandSeed();

void main( void )

{

  int i;

 srand( (unsigned)time( NULL ) );          //初始化随机数

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

          printf( " %d\n",  RandSeed() );
}

}

unsigned char  RandSeed()

{      

   int j;
   srand( (unsigned)time( NULL ) );          //初始化随机数

   j=rand()%4;

   return j;

}

几次之后成功了,原来 srand( (unsigned)time( NULL ) ); 只需要执行一次,

如果每次都执行srand( (unsigned)time( NULL ) );  的话,产生的数值都是一样的

成功的代码如下

#include <stdlib.h>

#include <stdio.h>

#include <time.h>           //使用当前时钟做种子

unsigned char RandSeed();

unsigned char kkkk,ggg;

void main( void )

{

  int i;
 srand( (unsigned)time( NULL ) );          //初始化随机数

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

          printf( " %d\n",  RandSeed() );
}

}

unsigned char  RandSeed()

{      

   int j;

   j=rand()%4;

   return j;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: