C语言固定范围随机函数 c语言指定范围随机数

如何在C语言中产生一定范围的随机数c语言C语言固定范围随机函数的获取随机数的函数为rand(),
可以获得一个非负整数的随机数 。要调用rand需要引用头文件stdlib.h 。
要让随机数限定在一个范围C语言固定范围随机函数,可以采用模除加加法的方式 。
要产生随机数rC语言固定范围随机函数 , 
其范围为
m=r=n,可以使用如下公式:
rand()%(n-m+1)+m
其原理为,对于任意数,
0=rand()%(n-m+1)=n-m
于是
0+m=rand()%(n-m+1)+m=n-m+m

m=rand()%(n-m+1)+m=n
C语言如何产生一定范围内一定数量的不同随机数源代码如下:
#include stdio.h
#include stdlib.h
#include stdbool.h
#include unistd.h
#define a 16807//or 48271
#define m 2147483647
#define q (m/a)
#define r (m%a)
static long int seed = 1;
//return rand long in [1,m]
long int pm_rand(void)
{
long hi = seed / q;
long lo = seed % q;
long tmp = a * lo - r * hi;
if(tmp0)
seed = tmp;
else
seed = tmp + m;
return seed;
}
int main(void)
{
for(int i = 0;i100;++i)
printf("%ld ",pm_rand());
puts("");
return 0;
}
扩展资料
不指定范围产生随机数的源代码
#includestdio.h
#includestdlib.h
int main()
{
int i;
for(i=0; i10; i++) //随机产生10个数 。
【C语言固定范围随机函数 c语言指定范围随机数】{
printf("%d\n", rand());
}
return 0;
}
如何用c语言产生一定范围内的随机数C语言的获取随机数的函数为rand(), 可以获得一个非负整数的随机数 。要调用rand需要引用头文件stdlib.h 。
要让随机数限定在一个范围,可以采用模除加加法的方式 。
要产生随机数r,其范围为 m=r=n,可以使用如下公式:
rand()%(n-m+1)+m
其原理为 , 对于任意数 , 
0=rand()%(n-m+1)=n-m
于是
0+m=rand()%(n-m+1)+m=n-m+m

m=rand()%(n-m+1)+m=n
如何在C语言中生成一定范围内的随机数?用rand函数吧C语言固定范围随机函数 , 好久不用C语言C语言固定范围随机函数 , 不太记得C语言固定范围随机函数 , 貌似是int a=rand()% X(X即范围)这是伪随机数
#includetime.h
srand(time(NULL));使用前用这条语句初始化
使用int a=rand() / RAND_MAX * n;
就得到真正C语言固定范围随机函数的随机数
C语言怎样产生一定范围的随机数?编译环境为:vs2013
产生1到3的整型随机数的代码如下:
#includestdio.h
#includetime.h
#includestdlib.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");//这个代码可以让弹出的黑框不会一下就消失
return 0;
}
扩展资料:
根据密码学原理,随机数的随机性检验可以分为三个标准:
条件一、统计学伪随机性 。统计学伪随机性指的是在给定的随机比特流样本中,1的数量大致等于0的数量 , 同理,“10”“01”“00”“11”四者数量大致相等 。类似的标准被称为统计学随机性 。满足这类要求的数字在人类“一眼看上去”是随机的 。
条件二、密码学安全伪随机性 。其定义为 , 给定随机样本的一部分和随机算法,不能有效的演算出随机样本的剩余部分 。

推荐阅读