码迷,mamicode.com
首页 > 编程语言 > 详细

29、蛤蟆的数据结构笔记之二十九数组之硬币抛掷模拟

时间:2015-07-10 09:31:24      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

29、蛤蟆的数据结构笔记之二十九数组之硬币抛掷模拟

         本篇名言:“人生是各种不同的变故、循环不已的痛苦和欢乐组成的。那种永远不变的蓝天只存在于心灵中间,向现实的人生去要求未免是奢望。-- 巴尔扎克”

  欢迎转载,转载请标明出处:

1.  硬币抛掷

如果抛掷硬币N次,看到头像的期望值是N/2次,但实际值也可能是0~N次,在程序中进行M次试验,M和N都在代码中定义。它使用一个数组f来跟踪出现“i次头像”的概率,其中0≤j≤N。然后打印试验结果的柱状图,每出现10次用1个星号表示。

 

2.  代码

代码执行如下图1所示,0-9表示每次执行10个抛币。

后面的米梅花表示,每10次抛币共得到人头的次数。

下图表示共测试100场,每场抛10次。可以看到10次抛币得到最多的是次数6和5,符合正态分布的现象。

技术分享

#include <time.h>

#include <stdio.h>

#include <stdlib.h>

 

void main(int argc, char* argv[])

{

    inti,j,cnt,k;

 

         intN=10;

         intM=100;

         doublef[10]={0,0,0,0,0,0,0,0,0,0};

         srand(time(NULL));

 

 

    for(i=0;i<M;i++,f[cnt]=f[cnt]+1)

        for(cnt=0,j=0;j<=N;j++)

                   {

                            k= rand()+1;

                            k= k % 10;

            if(k < 5)

               cnt++;

                   }

 

    for(j=0;j<N;j++)

    {

       printf("%2d",j+1);

        for(i=0;i<f[j];i++)

           printf("*");

       printf("\n");

    }

}

 

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

29、蛤蟆的数据结构笔记之二十九数组之硬币抛掷模拟

标签:

原文地址:http://blog.csdn.net/notbaron/article/details/46822585

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!