当前位置:首页 » 编程语言 » 概率c语言

概率c语言

发布时间: 2022-04-17 08:20:18

c语言 求随机数分布概率

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

intmain(){
floata,sum;

inti,j,n,m;

//100次求0-1之间的随机数之和在0-11-2之间的概率分布次数
for(i=0;i<100;i++){
srand(time(NULL));
for(j=0;j<10;j++){
a=(float)rand()/RAND_MAX;
sum+=a;
}
if(sum>=0&&sum<=1)
n++;
}
if(sum>1&&sum<=2){
m++;
}
}

printf("01=%d12=%d ",n,m);

return0;
}

❷ C语言中如何表示概率

现成的函数没有,可以通过产生随机数实现概率。
srand((unsigned)time(NULL));
int m,r=0;
m=rand()%10;
if(m==1||m==2||m==3||m==4||m==5||m==6||m==7)
{
r=r+1;
}
这段代码中,执行r=r+1的概率就是0.7
希望可以帮到你

❸ C语言 随机数 概率

计算机里的取随机数函数是均匀分布的随机数。
0.0005的概率,相当于2000个数里取一个。
所以我们可以
在0到1999范围里取随机数,如果取到数值
1000,我们就得1(并响铃),否则得0。
#include
<stdio.h>
#include
<stdlib.h>
#include
<math.h>
#include
<time.h>
void
main()
{
long
int
i,y;
double
x,
r,
M
=
2000.0;
srand((unsigned)time(NULL));
for
(i=0;i<5000;i++)
//
取5000个
{
r
=
(
(double)rand()
/
((double)(RAND_MAX)+(double)(1))
);
x
=
(r
*
M);
y
=
(long
int)
x;
if
(y
==
1000)
{
printf("1
");printf("\007");
//
如果得1,就响铃!
}
else
printf("0
");
};
}

❹ C语言一个概率的问题。解释一下语言句就好了。

首先理解k的意思,k表示模拟取走一个球的编号。
当k号球被取走后,k位置上其实就没有球了,这里是将最后一个球放到了k的位置上,然后将k的取值范围缩小一个(int k = rand() % (9-j);)。

如假设j = 0, k = 2 ,
则模拟取出的就是1,那么x中的球就应该少去一个1
如: 1 1 1 1 2 2 2
因为x为一个数组,删减很麻烦,
所以就直接将原来数组中最后一个 1 1 1 1 1 2 2 2 ,也就是2
赋值到k处 就形成了新的x:1 1 2 1 1 2 2 2,而前面的
int k = rand() % (9-j);
则限制了在x中的取值的范围。
初始的时候j = 0;涨一个 就成了 1
那么k = rand() % (9-j);
k的取值范围就是 0 - 7
也就是说不会取到x的最后一个了。

主要是考虑到取走一个球之后,里面就减少了一个。

❺ c语言 概率

表示看不懂题目

❻ C语言查找概率问题

在3个节点中找到的概率=在第一个节点找到概率+第二个节点找到概率+第三个节点找到概率
=1/2+(1-1/2)*1/3+(1-1/2)*(1-1/3)*1/6
=1/2+1/6+1/18
=13/18

❼ 【C语言】关于概率计算的方法

我想是因为for (i=1;b>=1;i++)这一句无效。

前面b=0,循环条件是b>=1,所以不循环的。

另外b=b+0.1*pow(0.9,i-1);这句的0.1后面应该加上f,否则类型不对。

这个是改动过的代码

#include <stdio.h>

#include <math.h>

int main()

{

int i;

long double b;

b=0;

for (i=1;b<=1;i++)

{

b=b+0.1f*pow(0.9,i-1);

}

printf("%d ", i);

return 0;

}

时间有些晚了,答题有点仓促,不知道能不能行,如果出现问题,希望海涵。

❽ 如何用c语言随机生成一个概率

随机生成一个数倒是可以,概率的话,直接用1除以生成的数就可以了

❾ 概率问题,C语言

#include<stdio.h>
#defineBOY'1'
#defineGRE'0'
intmain(void)
{
intman,woman,family;
man=woman=family=0;
charpeople='';
printf("输入国家多少个正常家庭 ");
scanf("%d",&family);
while(family>0&&(people=getchar())!=EOF)//输入0或1
{
if(people==BOY)
man++;
elseif(people==GRE)
{
woman++;
family--;
}
}
printf("男女比为%d:%d ",man,woman);
return0;
}

❿ 用C语言编写按给定概率生成的数字

#include <stdio.h>
#include <stdlib.h>
void main(void)
{
float y[]={0.18,0.00,0.16,0.14,0.04,0.06,0.10,0.10,0.14, 0.08};
float s;
int i,j;
float rd_y;
int rd;
double r;
srand((unsigned)time(NULL));
s=y[0];
for(i=0;i<10;i++) if (y[i] > s) s = y[i];
for (j=0;j<12;j++)
{
r = ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );
rd_y = r * s;
r = ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );
rd = (int) (r * 10.0);
if (rd_y <= y[rd]) printf("%d ",rd);
}
printf("\n");
printf("\n");
getch();
}

热点内容
安卓手机硬件怎么升级 发布:2025-01-22 12:55:25 浏览:220
可编程脉冲电源 发布:2025-01-22 12:49:22 浏览:830
欧规墨规美规中东哪个配置高 发布:2025-01-22 12:48:00 浏览:777
安卓机怎么用不了多久 发布:2025-01-22 12:47:44 浏览:761
安卓怎么录屏别人直播 发布:2025-01-22 12:35:20 浏览:385
1030怎么配置电脑 发布:2025-01-22 12:35:19 浏览:89
sql数据库的端口 发布:2025-01-22 12:20:02 浏览:363
安卓最终幻想8怎么设置中文 发布:2025-01-22 12:19:23 浏览:651
怎么查电脑配置和网络 发布:2025-01-22 12:19:16 浏览:586
linuxsnmp查看 发布:2025-01-22 12:17:49 浏览:37