rand()产生0-32767的一个随机整数
解决方案 »
- openCV里怎么求二值化图像的面积和轮廓周长?
- MDI中如何遍历当前所有的MDIChild窗口
- 工具栏创建的问题?
- 怎么动态设置一个数组的大小?
- 写socket程序时的一些错误,求助
- ATL内部结构流程图V1.0----初学ATL花了几天的时间画的一个图
- 请教在VC中弹出一个输入法软键盘窗口会发出什么样的消息?还有这个窗口和应用程序窗口之间的关系是什么?
- COleDateTime对象如何转化为time_t对象
- 如何令CFormView切换不同的DIALOG ?? 或者说,如何切换不同的CFormView派生类 ??
- 在任何显示像素下都没有问题,该怎么做呢???急
- 有售或免费MFC源码吗?老看别人的说明也不是办法
- 关于.abs是什么东东?
/* RAND.C: This program seeds the random-number generator
* with the time, then displays 10 random integers.
*/#include <stdlib.h>
#include <stdio.h>
#include <time.h>void main( void )
{
int i; /* Seed the random-number generator with current time so that
* the numbers will be different every time we run.
*/
srand( (unsigned)time( NULL ) ); /* Display 10 numbers. */
for( i = 0; i < 10;i++ )
printf( " %6d\n", rand() );
}//你可以取mouse位置等为种子
以后rand()每次产生不同的随机数
你查一下msdn吧
rand()随机产生0-32767之间的一个整数
RAND_MAX的值为32767
如下返回一个double数:
(range_Max-range_Min)*((double)rand()/(double)RAND_MAX)+range_Min
const int seq_cnt = 21;
int a[21],i=0,j=0;
srand((unsigned)time( NULL ));
bool existing;
existing=false; while(i<21)
{
a[i] = rand() % seq_cnt;
existing=false;
if (i == 0)
i++;
else
{
for (j=0; j<i; j++)
{
if(a[i] == a[j])
existing=true;
if(existing)
break;
}
if (!existing) i++;
}
}
如:
a=rand()&100,就可以生成一个0~100的随机数,但是我试了一下,生成的随机数总是那几个数,重复出现的机会再大了,不知道是怎么回事???
注:我已经在前面加上了srand()