當前位置:首頁 » 編程語言 » c語言如何實現概率
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言如何實現概率

發布時間: 2022-09-27 06:10:48

A. c語言求概率

這是典型的古典概型,直接用窮舉法計算即可。
計算思路是遍歷1到10共10個數的所有組合(用goNext函數),統計出組合總數count與7個數之和等於20的組數successNumber,這兩個數的商successNumber/count就是所求的概率。
計算結果為:
總次數: 10000000, 成功次數: 26544, 概率: 0.0026544
程序可以如下實現:
#include <stdio.h>
int data[7];

int goNext()
{
int i;
for ( i = 0; i < 7 && ++data[i] > 10; ++i ) data[i] = 1;
if ( i == 7 ) return 0;
return 1;
}

void main()
{
int i, m;
double p;
long count = 0, successNumber = 0;
for ( i = 0; i < 7; ++i) data[i] = 1;
do
{
++count;
for ( i = 0, m = 0; i < 7; ++i ) m += data[i];
if ( 20 == m ) ++ successNumber;
} while ( goNext() );
p = (double) successNumber / (double) count;
printf("總次數: %d, 成功次數: %d, 概率: %.7lf\n", count, successNumber, p);
}

B. 【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. 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
希望可以幫到你

D. 如何用c語言隨機生成一個概率

隨機生成一個數倒是可以,概率的話,直接用1除以生成的數就可以了

E. C語言中如何計算概率,為什麼計算不了

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main (){
int a,b,c,i;
int j=0;
int sum=0;
double k=0.0;
srand((unsigned int) time(NULL));

for(i=1;i<=500;i++){
a=rand()%7+1;
b=rand()%7+1;
c=rand()%7+1;
printf("所抽到的三個球為:%d%d%d\n",a,b,c);
sum=a+b+c;
if (sum>=15){j++;}
k=j/500.0;

}
printf("\n%lf\n",k);
return 0;
}
你看這個程序,可以運行出來K的值。你那個程序就是在k=j/500這里出問題了,以為k定義的是double型,所以要強制轉換一下改成k=j/500.0或者k=(double)j/500就行了,以後遇到這個問題要注意

F. 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
");
};
}

G. C語言中怎麼指定概率進行操作。

int rand_uns(int x,int y)
{
int z;
srand((unsigned)time(NULL));
z=rand()%(y-x+1);
z=z+x;
return z;
}
這是我做的一個函數,隨機取數,函數調用方法是rand_uns(下限,上限).返回數就是取得的函數.然後使用if或者switch語句判斷是要執行操作1還是操作2就行了.
要求包含
#include <stdlib.h>
#include <time.h>

H. 如何用C語言實現求概率期望

用一個數組存放這100個概率。然後隨機生成N個0~99的數。以隨機生成的數為下標讀取數組里的數。然後相乘。。

I. c語言概率計算

p1=pro(m-1,n,x-1,y-1);
p2=pro(m,n-1,x-1,y);

J. 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;
}