2012年蓝桥杯C本科(第9题夺冠概率)模拟题

10万组数据

答案0.76510
    足球比赛具有一定程度的偶然性,弱队也有战胜强队的可能。


    假设有甲、乙、丙、丁四个球队。根据他们过去比赛的成绩,得出每个队与另一个队对阵时取胜的概率表:


    甲  乙  丙  丁   
甲   -  0.1 0.3 0.5
乙 0.9  -   0.7 0.4 
丙 0.7  0.3 -   0.2
丁 0.5  0.6 0.8 -


    数据含义:甲对乙的取胜概率为0.1,丙对乙的胜率为0.3,...


    现在要举行一次锦标赛。双方抽签,分两个组比,获胜的两个队再争夺冠军。(参见【1.jpg】)


    请你进行10万次模拟,计算出甲队夺冠的概率。




    注意:


    请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!
    
    在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。


    请把所有函数写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。
    
    相关的工程文件不要拷入。
    
    源代码中不能能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。
    

    允许使用STL类库,但不能使用MFC或ATL等非ANSI c++标准的类库。例如,不能使用CString类型(属于MFC类库)。

第一次做模拟、、、泪奔啊。。。模拟题就是仔细认真。对思维没什么大的要求


#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#define N 100000
int main()
{
	int i;
	int x,y,z,w,p;
	int k;
	double m;
	k=0;
	for(i=0;i<N;i++)
	{
		x=rand()%3;				//模拟抽签 ,甲乙一组0 , 甲丙一组 1 ,甲丁一组 2
		if(x==0)				//甲乙一组。丙丁一组
		{
			y=rand()%10;		//甲胜乙 0.1
			if(y==0)			//甲胜 与丁争冠军0.8 与丙争冠军0.2	丁胜丙0.8
			{
				z=rand()%5;		
				if(z==0)		//丙胜
				{
					w=rand()%10;	//甲丙争冠军  甲胜丙0.3
					if(w==0||w==1||w==2)//甲是冠军
						k++;
				}
				else			//丁胜
				{
					p=rand()%2;	//甲丁争冠军 0 甲胜丁0.5
					if(p==0)
						k++;
				}
			}
		}
		if(x==1)				//甲丙一组,乙丁一组
		{
			y=rand()%10;		//甲胜丙 0.3 
			if(y==0||y==1||y==2)//甲胜  与乙争冠军有0.4概率  与丁争冠军0.6概率	乙胜丁0.4
			{
				z=rand()%5;
				if(z==0||z==1)	//乙胜
				{
					w=rand()%10;//甲乙争冠军	
					if(w==0)	//甲胜乙0.1
						k++;
				}
				else			//丁胜
				{
					p=rand()%2;	//甲丁争冠军 0 甲胜丁0.5
					if(p==0)
						k++;
				}
			}
		}
		if(x==2)				//甲丁一组,乙丙一组
		{
			y=rand()%2;			//甲胜丁 0.5
			if(y==0)			//甲胜  与乙争冠军0.7 与丙争冠军 0.3
			{
				z=rand()%10;
				if(z==0||z==1||z==2)		//丙胜
				{
					w=rand()%10;			//甲丙争冠军 甲胜丙0.3
					if(w==0||w==1||w==2)	//甲胜
						k++;
				}
				else						//乙胜
				{
					p=rand()%10;			//甲乙争冠军 甲胜0.1
					if(p==0)
						k++;
				}
			}
		}
		
	}
//	printf("%d",k);
	m=(double)k/(double)N;
	printf("%lf\n",m);
	return 0;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值