编译环境为:vs2013
产生1到3的整型随机数的代码如下:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#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<stdio.h>
#include
<time.h>
void
main()
{
int
iNum
=
0
srand((unsigned)time(0))
iNum
=
rand()
%
100
+
1
//随机生成一个数,并对100取余,使它小于100(0~99)。再加1(1~100)
printf("扒运%d\n",
iNum)
\\打印绝此蠢出来这个数
return
}
如果想多生成几个随机数,可以并陪有一个数组存储,并用for循环实现随机生成
int
aiNum[10]
=
{0}
int
iLoop
=
0
//随机生成10个数
for
(
iLoop
=
0
iLoop
<
10
iLoop++
)
{
aiNum[iLoop]
=
rand()
%
100
+
1
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)