c语言产生随机数的方法

2018-08-24 22:28:43 雨桐整理 随机数生成器 随机数生成器

用c语言生成随机数代码

Q1:C语言随机数生成器代码解析

举例:如果你想要10-123范围的伪随机数
那么你就使用rand()%(123-10+1)+10即可

Q2:c语言,如何产生随机数


具体代码如下:
#include
#include
#include //用到了time函数
int main()
{ int i,number;
srand((unsigned) time(NULL)); //用时间做种,每次产生随机数不一样
for (i=0; i<50; i++)
{
number = rand() % 101; //产生0-100的随机数
printf("%d ", number);
}
return 0;
}
有以下几种情况:
(1)如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。
(2)如果你要随机生成一个在一定范围的数,你可以在宏定义中定义一个random(int number)函数,然后在main()里面直接调用random()函数:
例如:
rand()%100是产生0-99的随机数。
(3)但是上面两个例子所生成的随机数都只能是一次性的,如果你第二次运行的时候输出结果仍和第一次一样。这与srand()函数有关。srand()用来设置rand()产生随机数时的随机数种子。在调用rand()函数产生随机数前,必须先利用srand()设好随机数种子(seed), 如果未设随机数种子, rand()在调用时会自动设随机数种子为1。上面的两个例子就是因为没有设置随机数种子,每次随机数种子都自动设成相同值1 ,进而导致rand()所产生的随机数值都一样。
srand()函数定义 : void srand (unsigned int seed);
通常可以利用geypid()或time(0)的返回值来当做seed。如果你用time(0)的话,要加入头文件#include


Q3:如何用C语言产生随机数,随机数的加和是一确定的数

思路:

1 先获取到加和值;

2 输入加和值范围内的一个随机数;

3 用加和值减去获取到的随机数,这样就得到了另外一个数;

4 循环执行,直到获取到符合要求数量的数值为止。

以获取10组数值为例,代码如下:

#include
#include
#include
intmain()
{
ints;
inti,n;
srand(time(NULL));//设置随机数种子。
scanf("%d",&s);//输入加和值。
for(i=0;i<10;i++)//获取10组要求的数值。
{
n=rand()%s;//获取一个0~s-1的随机数。
printf("%d+%d=%d ",n,s-n,s);//输出结果。
}
return0;
}WwW.JIzhU※BA.cOm

Q4:c语言产生N个随机数


#include
#include
#include
void main(){
int i;
srand((unsigned)time(NULL));
for(j=1;j<=5;j++)
printf("%d",rand()%10);
printf(" ");}
随即产生数字,字符么就是把%d改成%c。产生几个随即数用循环i控制;
一个随即数有几个数字组成就是对rand()取模;


Q5:c语言怎么生成随机数?


展开全部函数rand(),每次运行都会产生随机数。
原理:利用物理不稳电路,电路会根据当前周边电磁场信号,随机产生无线电接收信号,然后转换成数字,因为电场的不稳定性,所以每次产生的数字都会不同,绝对不可能连续生成一样的数字;
简单使用:A、慨然软件的工具或开发环境中使用这个函数;B、Excel表格中,在各自中使用这个函数,每次都能产生不同的数字;
常规使用场合:A、随机数抽奖程序;B、大数据测试;C、游戏中的骰子产生随机数。

小提示:内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

随机数生成器 推荐文章:
推荐不满意?点这里  ››  

随机数生成器