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%
熱點內容