如何在C语言中生成一定范围内的随机数

如何在C语言中生成一定范围内的随机数,第1张

srand((int)time(NULL));设定随机数种子

rand()%100;产生0-99的随机数。

高级点的,假如要产生16-59之间的数,你可以这样写:rand()%44+16(这里44由59-16+1得到)。其他情况如法炮制!

C语言中用rand()函数产生20-90的随机整数

20-90共有71个数字,所以是rand()%71+20 ;

用rand()生成-20-20的随机数

-20-20共有41个数字,所以是rand()%41-20;

需要注意的是,在运行以上代码之前最好设定一下:

srand(time(NULL));//用系统当前时间设置rand()随机序列种子,保证每次运行随机序列不一样

编译环境为:vs2013

产生1到3的整型随机数的代码如下:

#include<stdioh>

#include<timeh>

#include<stdlibh>

#define max 3   //这个函数的意义为:随机生成最大的数为3

#define min 1    //这个函数的意义为:随机生成最小的数为1

int main()

{

int num;

srand(time(0));

num = rand() % (max - min) + min;  // 这里的意义,“%”为模运算

printf("随机数为:%d\n", num);

system("pause");  //这个代码可以让d出的黑框不会一下就消失

return 0;

}

扩展资料:

根据密码学原理,随机数的随机性检验可以分为三个标准:

条件一、统计学伪随机性。统计学伪随机性指的是在给定的随机比特流样本中,1的数量大致等于0的数量,同理,“10”“01”“00”“11”四者数量大致相等。类似的标准被称为统计学随机性。满足这类要求的数字在人类“一眼看上去”是随机的。

条件二、密码学安全伪随机性。其定义为,给定随机样本的一部分和随机算法,不能有效的演算出随机样本的剩余部分。

条件三、真随机性。其定义为随机样本不可重现。实际上只要给定边界条件,真随机数并不存在,可是如果产生一个真随机数样本的边界条件十分复杂且难以捕捉(比如计算机当地的本底辐射波动值),可以认为用这个方法演算出来了真随机数。

随机数分为三类:

①伪随机数:满足第一个条件的随机数。

②密码学安全的伪随机数:同时满足前两个条件的随机数。可以通过密码学安全伪随机数生成器

计算得出。

③真随机数:同时满足三个条件的随机数。

#include

#include

#include

int

main()

{

int

num;

srand(time(0));

//必须要用这个

num

=

1

+

rand()

%

10;

//在[1,10)中随机出一个数字

printf("%d",num);

return

0;

}

头文件不能少

随意移动移动鼠标,然后获取光标的位置,肯定是一个随机数。用函数:BOOL GetCursorPos(LPPOINT lpPoint);可以获取光标的当前位置,如:

#include<stdioh>

#include<windowsh>

int main()

{

POINT p;

while(1)

{

GetCursorPos(&p);

printf("%ld%ld\n",px,py);

Sleep(1000);

}

return0;

}

用话筒随便哼几句,然后保存为声音文件,其中的录音数据肯定也是随机数。所以说,要想获得真正的随机数,办法还是很多的。

以上就是关于如何在C语言中生成一定范围内的随机数全部的内容,包括:如何在C语言中生成一定范围内的随机数、C语言怎样产生一定范围的随机数、怎样用c语言取一个随机数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9425686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存