在vc中如何产生0~1之间的随机数

cracklife 2003-05-21 08:06:19
如题
...全文
463 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
triggerd 2003-05-21
  • 打赏
  • 举报
回复
在vc中如何产生0~1之间的随机数 ?!!
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void main()
{
srand(time( NULL));
for( int i = 0; i < 100;i++ )
printf( "%d\n", rand()%2 );////稍作修改^_^
}
guoxiny 2003-05-21
  • 打赏
  • 举报
回复
怎么用随机函数实现1到100之间的随机数?

在计算机系统中大都是伪随机数,一般是用线性同余法得到的。真正的随机数第一次
听楼上说。见《离散数学及其应用》(Kenneth H.Rosen著,北大 袁崇义等译)第四版
对此的解释:计算机模拟需要随机选择的数目。有不同的方法可以产生具有随机选取
性质的数。由于用系统的方法产生的数不可能真正是随机的,就成为伪随机数。


1.
rand()%100
就可以了;就是rand()产生的随机数除以100的余数 0-99
如果要1到100;
rand()%100+1
就可以了;

srand( (unsigned)time( NULL ) );
srand(rand());

rand()%100


2.
int RandomInt( int iMin, int iMax )
{
static int iInitSeed;

if( iMin >= iMax ) return iMin;

if( iInitSeed != 1 )
{
srand( (UINT)time( NULL ) );
iInitSeed = 1;
}
return iMin + rand() % ( iMax - iMin + 1 );
}

float RandomFloat( float flMin, float flMax )
{
int iRandomInt = RandomInt( (int)flMin, (int)flMax );
float flResult = iRandomInt + (float)( RandomInt(0,999999) * 0.000001 ) * ( iRandomInt > -1 ? 1 : -1 );

if( flResult > flMax ) flResult = flMax;
else if( flResult < flMin ) flResult = flMin;

return flResult;
}


3.
Double CUnitDoc::Rand(double max, double min)
{
double temp;
int range = abs((max - min) * i);
int t = rand();
t = t % range;
temp = t / i
return temp;
}
Rand(100,1);
dizzo 2003-05-21
  • 打赏
  • 举报
回复
根据你要产生的随机数的精度,比如小数点后面三位,

可以先产生1-1000之间的随机数,然后把结果除以1000.0.
loopyifly 2003-05-21
  • 打赏
  • 举报
回复
#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( " %d\n", rand()%1000000 );
}
}
lizmei001 2003-05-21
  • 打赏
  • 举报
回复
double db = rand() / 65535;
yyfzy 2003-05-21
  • 打赏
  • 举报
回复
直接用标准C里的random()不就可以吗?

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧