c语言求概率
发布时间: 2023-10-10 09:57:59
‘壹’ 【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语言 求随机数分布概率
#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语言游戏中奖概率算法
从思想上来所,随机变量x有两个值,0表示不中奖,1表示中奖。如果进行N次实现,如果出现1的次数 / N = p%的话,我们说,x为1的概率为p%
STDLIB 中 rand() 函数的返回值,我们可以认为是服从平均分布的随机变量的值。通过不等式的变换,我们可以得到任意范围内,平均分布的随机变量。
比如说,20%的中奖率,我可以定义, 取[0, 99]的随机整数,如果该值为[0, 20) 则中奖,否则不中,那么中奖率就为 20%
热点内容