#include <stdio.h>
#include <stdlib.h>
//头像面朝上的概率
int heads()
{
return rand() < RAND_MAX/2;
}
int main(int argc, char *argv[])
{
int i, j, cnt;
//N为每次实验投币的次数,M为实验的次数
int N = atoi(argv[1]), M = atoi(argv[2]);
int *f = malloc((N+1) * sizeof(int));
for (i = 0; i <= N; i++) f[i] = 0;
for (j = 0; j < M; j++, f[cnt]++)
for (cnt = 0, i = 0; i <= N; i++)
if (heads()) cnt++;
for (i = 0; i <= N; i++)
{
printf("%2d ", i);
for (j = 0; j < f[i]; j += 10) printf("*");
printf("\n");
}
}
执行结果如下:
不过有点疑惑的是这个结果并不是完全与概率学的正态分布吻合,有点小的偏差,而经过几次执行的结果好像都没有变化,这点有点疑问,可能和伪随机数的产生机制有关吧...
- 大小: 4.9 KB
分享到:
相关推荐
为想要投硬币决定事情的朋友提供方便,但还是要说一句,生命是自己的,要把握自己决定自己命运的机会 把需要投硬币决定的事情添加到列表中,打上勾,设置投币次数点击开始就会为列表中勾选项投币,投币结束后显示...
假设抛硬币时正面得10分,反面得5分。...例如第一次运行程序时模拟了100次硬币抛掷,第二次运行程序时模拟了300次硬币抛掷,则可以得到一个抛掷400次的结果 在图形界面下完成1),输出要求用柱状图显示
对于硬币模拟实验的分析,还有程序上的几种设计方式
一枚硬币,正面朝上的次数服从二项分布,可由此程序得出大量试验下投掷硬币正面向上的概率。并由matlab画图工具辨识出来
2、(E-step)估计每组实验是硬币A的概率(本组实验是硬币B的概率=1-本组实验是硬币A的概率)。分别计算每组实验中,选择A硬币且正面朝上次数的期望值,选择B硬币且正面朝上次数的期望值;3、(M-step)利用第三步...
的“投硬币”电路.zip电子电路图PCB单片机设计案例资料的“投硬币”电路.zip电子电路图PCB单片机设计案例资料的“投硬币”电路.zip电子电路图PCB单片机设计案例资料的“投硬币”电路.zip电子电路图PCB单片机设计案例...
能模拟抛硬币实验并输出报告,实验次数越大越接近50%概率
编写一个程序,模投硬币。用户每一次Toss按钮则掷一次硬币,记下硬币每面出现的次数,并显示结果。该程序调用不带参数的方法flip,如果是正面则flip方法返回true,是反面则返回false。
不同赌本,抛硬币输赢概率
贪心算法求解最少硬币问题C语言程序,问题描述:给顾客找零钱时,收银处有1元,5角和1角硬币若干,如何用最少数量的硬币找够零钱? 算法思想:比如要找给顾客2元9角钱,首先计算1元最多可以有多少枚,即2枚,减去2元,还...
C++写的《八枚硬币》问题程序,八枚硬币程序
VC实现的简单的能增加减少硬币,初学功能比较简单!
用极大似然估计方法估计掷硬币的概率,word版的估计过程,涉及公式,完整版的推导
MDB通信协议纸币器硬币器与程序详解
555组成的“投硬币”电路.zip
555组成的“投硬币”电路.rar
直接双击打开就可模拟抛硬币,非常方便!教概率的时候一定用的着!
matlab简单的统计硬币个数程序,包含示例图片,运行m文件即可出现GUI 界面,选择文件,开始统计即可.
显示用shell模拟硬币抛掷1000次的结果 显示1000次中正反面的次数 vi编写 在ubuntu12.04终端下测试可用