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

Python015

【C语言】关于概率计算的方法,第1张

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

前面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=1b<=1i++)

{

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

}

printf("%d\n", i)

return 0

}

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

计算机里的取随机数函数是均匀分布的随机数。

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=0i<5000i++)

//

取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

")

}

}