VC++ 6.0中怎么让系统随机生成一个数字?
答案:3 悬赏:30 手机版
解决时间 2021-03-25 20:09
- 提问者网友:却不属于对方
- 2021-03-24 19:33
VC++ 6.0中怎么让系统随机生成一个数字?
最佳答案
- 五星知识达人网友:你哪知我潦倒为你
- 2021-03-24 20:24
随机数字,可以设定一个范围需要的头文件:<stdlib.h>,库函数:srand;rand;time方法:1.首先设置种子srand(unsigned)time(NULL));使用当前时间作为种子是多数人的习惯做法.
2.产生随机数:rand()可以产生一个随机数;范围在0~RAND_MAX(32767)之间;如果要产生一个[min,max]之间的数,可以这样:rand()%(max) + min; main()
{
int i;
scand(time(NULL)); //可向计算机读取其时钟值,并把值自动设为随机数种子
for(i=0;i<10;i++){
printf("%10d",1+(rand()%6));//这里1是移动值,他等于所需的连续整数 } //数值范围的第一个数;b是比例因子;他 return(0); //等于所需的连续整数值的范围宽度;
}
2.产生随机数:rand()可以产生一个随机数;范围在0~RAND_MAX(32767)之间;如果要产生一个[min,max]之间的数,可以这样:rand()%(max) + min; main()
{
int i;
scand(time(NULL)); //可向计算机读取其时钟值,并把值自动设为随机数种子
for(i=0;i<10;i++){
printf("%10d",1+(rand()%6));//这里1是移动值,他等于所需的连续整数 } //数值范围的第一个数;b是比例因子;他 return(0); //等于所需的连续整数值的范围宽度;
}
全部回答
- 1楼网友:躲不过心动
- 2021-03-24 20:49
unsigned char *bytes 缓冲区;size_t nbytes 缓冲区大小const unsigned char *seed 随机数种子size_t seedlen 随机数种子长度
int my_rand(unsigned char *bytes, size_t nbytes, const unsigned char *seed, size_t seedlen)
{
unsigned int myseed;
size_t i;
int offset;
myseed = (unsigned)time(NULL);
if (seed)
{
for (offset = 0, i = 0; i < seedlen; i++, offset = (offset + 1) % sizeof(unsigned))
myseed ^= ((unsigned int)seed[i] << (offset * 8));
} srand(myseed);
while (nbytes--)
{
*bytes++ = rand() & 0xFF;
} return 0;
}
int my_rand(unsigned char *bytes, size_t nbytes, const unsigned char *seed, size_t seedlen)
{
unsigned int myseed;
size_t i;
int offset;
myseed = (unsigned)time(NULL);
if (seed)
{
for (offset = 0, i = 0; i < seedlen; i++, offset = (offset + 1) % sizeof(unsigned))
myseed ^= ((unsigned int)seed[i] << (offset * 8));
} srand(myseed);
while (nbytes--)
{
*bytes++ = rand() & 0xFF;
} return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯