当前位置:首页 » 编程语言 » c语言生成随机数

c语言生成随机数

发布时间: 2022-01-08 22:33:22

㈠ 如何用c语言产生随机数,随机数的加和是一确定的数

思路:
1
先获取到加和值;
2
输入加和值范围内的一个随机数;
3
用加和值减去获取到的随机数,这样就得到了另外一个数;
4
循环执行,直到获取到符合要求数量的数值为止。
以获取10组数值为例,代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int s;
int i,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", n, s-n, s);//输出结果。
}

return 0;
}

㈡ C语言中怎样生成随机数

C语言生成
随机数

函数
为rand。
1
声明:
int
rand(void);
2
头文件:
stdlib.h
3
功能:
获取一个非负随机
数值

4
注意事项:
a)
rand是
伪随机数
,由一个种子计算得来。
如果种子相同,每次启动
程序
,获取到的
随机序列
是固定的。
可以通过srand设置当前时间作为种子,使随机效果更好。
srand(time(NULL));
b)
要获取[m,n]范围的随机数,可以使用代码
rand()%(n-m+1)+m

㈢ c语言 关于产生随机数

/**
*编译器:vs2010
*时间:2017年11月7日
*@fencaide
*/

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>

intmain(void)
{
intanswer=0;

for(inti=0;i<10;i++){
srand((unsigned)time(NULL));
answer=rand()%9000;
printf("%d ",answer);
Sleep(2000);
}

getchar();
getchar();
return0;
}

人家的随机是相对于这个种子的情况下,不同的种子产生的结果当然不具备随机性,而且伪随机不是真随机。也就是对于一个种子多次rand是具备“随机性”的,而因为是伪随机,多个种子多次随机自然不是随机的,下面这段话我 别人的哈

  • rand函数产生的并不是真意正义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数

㈣ 如何在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函数也是调用dos的时钟,进行的伪随机函数.
你也可以使用时钟来模拟随机函数.
可以试用gettime这个函数:
long int MyRand(int x)
{
struct time t1,t2,t3;
gettime(&t1);
int y1=t1.ti_hund;//取1/100s作为基数
gettime(&t2);
int y2=t2.ti_hund;//取1/100s作为基数
gettime(&t3);
int y3=t3.ti_hund;//取1/100s作为基数
return y1*y2*y3;//产生的随机数0~99*99*99
}

㈥ C语言:产生随机数 求高手指导!!!

我这里给出M,N是double
的通用程序。(m
<
n
).
随机数也是double,你若要整数自己取整。
指数分布,假定指数分布函数曲线是:
f(x)=LAM
*
exp(-LAM*x);
LAM

指数分布函数
参数。你要自己给定,我这里给了1.2。
#include
<stdio.h>
#include
<stdlib.h>
#include
<time.h>
//
别忘了

time.h
#include
<math.h>
//
别忘了

math.h
//
均匀分布的随机数
double
rd_MN1(double
m,double
n)
{
double
r;
if
(m>n)
{r=n;n=m;m=r;};
r
=
(
(double)rand()
/
((double)(RAND_MAX)+(double)(1))
);
r
=
m
+
r
*
(n-m);
return
r;
}
void
main()
{
long
int
i,k;
double
m,n;
double
x,
r;
double
y;
double
LAM=1.2;
//f(x)=LAM*exp(-LAM*x);
m=2.0;
n=5.0;
srand((unsigned)time(NULL));
//
随机种子
for
(i=0;i<50;i++)
printf("%lf
",
rd_MN1(m,n));
printf("\n==========\n");
srand((unsigned)time(NULL));
k=0;
loop:
r
=
(
(double)rand()
/
((double)(RAND_MAX)+(double)(1))
);
y
=
-log(r)
/
LAM;
if
(y
>=
m
&&
y
<=
n)
{printf("%lf
",y);
k++;};
if
(k
<
50)
goto
loop;
//
产生50个指数分布随机数
}

㈦ 产生随机数...(用c语言编写)

用C语言产生随机数,必须使用一个产生随机数的函数rand
这个函数就可以随机产生一个随机数的

㈧ c语言,如何产生随机数

1、第一步,先定义int一个数组和int一个指针变量。

㈨ 怎么用C语言生成随机数

假设要生成的随机数是大于等于20且小于等于100的整数

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
voidmain(){inta,b,x;
a=20;b=100;
srand((unsignedint)time(NULL));//用当前时间生成一个随机数种子
x=rand()%(b-a+1)+a;
printf("得到一个随机数:%d ",x);
}

㈩ C语言中产生随机数

随机数主要有两个函数
一个种子产生函数
void
srand(int);
一个随机数产生函数
int
rand();
当我们要产生随机数的时候,首先我们生成一个随机数种子(注意相同的种子产生的随机数序列是一样的)
然后使用rand()函数得到随机数
祝你好运

热点内容
单片机android 发布:2024-09-20 09:07:24 浏览:763
如何提高三星a7安卓版本 发布:2024-09-20 08:42:35 浏览:662
如何更换服务器网站 发布:2024-09-20 08:42:34 浏览:309
子弹算法 发布:2024-09-20 08:41:55 浏览:287
手机版网易我的世界服务器推荐 发布:2024-09-20 08:41:52 浏览:815
安卓x7怎么边打游戏边看视频 发布:2024-09-20 08:41:52 浏览:160
sql数据库安全 发布:2024-09-20 08:31:32 浏览:91
苹果连接id服务器出错是怎么回事 发布:2024-09-20 08:01:07 浏览:505
编程键是什么 发布:2024-09-20 07:52:47 浏览:655
学考密码重置要求的证件是什么 发布:2024-09-20 07:19:46 浏览:479