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

C语言之基本算法28—硬币抛投(随机数)

时间:2015-07-12 15:47:43      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:c语言   随机数   抛投硬币   

//硬币抛投(随机数)
/*
=====================================================================
题目:抛投两枚硬币,试分析共有几种情况,概率分别为多少?
=====================================================================
*/


#include<stdio.h>
#include<iomanip>
#include<ctime>
main()
{
int a,b,c,n,x,y;a=0;b=0;c=0;
srand(time(0));//这个必须有,否则无法生成随机数!
for(n=0;n<100;n++)
{
x=rand()%(2-0)+0;//产生0,1两种结果,表示一正一反,所以在[0,2)内产生随机数,即2=2-0+0,在[a,b)内产生随机数:rand()%(b-a)+a,此处a=0,b=2;
y=rand()%(2-0)+0;
printf("%3d:  %d,%d      ",n+1,x,y);
if((n+1)%5==0)printf("\n");
if(x+y==0)
a++;
else if(x+y==1)
b++;
else
c++;
}
printf("两个正面:%d,一正一反:%d,两个反面:%d\n",a,b,c);
}


/*
====================================================================
评:

首先要知道这是C语言和C++的组合,其实他们是一种语言。必须用到<ctime>和<iomanip>

函数(如果不知道,那么背会记住就可以)。考点是投掷两个硬币可能产生三种结果:1、两

正,2、两反,3、一正一反,分别用0,1,2表示,这就分析出两个要素需要产生三种结果,自

然是0+0=0;0+1=1;1+1=2;所以要随机产生0,1两个要素。即在[0,2)产生随机数或等价于

[0,1]的随机数!

=====================================================================
*/






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

C语言之基本算法28—硬币抛投(随机数)

标签:c语言   随机数   抛投硬币   

原文地址:http://blog.csdn.net/lzx19901012/article/details/46849983

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