admin管理员组

文章数量:1621887

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include int main()

{

int toptime;

int Atime;

int Btime;

int Acishu;

int Bcishu;

int Awin=0;

int Bwin=0;

int flag;

float Achance;

int cishu; printf("请输入几把定输赢:");

//就这个故事而言是5局,输入5

scanf("%d",&toptime);

printf("\n");

printf("请输入A胜了几局(要小于toptime):");

//假设A就就是默勒,他已经赢了3局,所以输入3

scanf("%d",&Acishu);

printf("\n");

printf("请输入B胜了几局(要小于toptime):");

//那B就是侍卫官,他赢了2局,所以输入2

scanf("%d",&Bcishu);

srand(time(NULL)); //模拟10000次分胜负(有人拿到55金币)的情况

for(cishu=0; cishu<10000; cishu++)

{

Atime=Acishu;

Btime=Bcishu;

//这个循环在有人胜出(拿到55金币)时结束

for(;;)

{

flag=rand()%2;

//flag值为0或1,也就是赢的局数+1,另一个不变

Atime=Atime+flag;

if(Atime>=toptime)

{

Awin++;

break;

}

Btime=Btime+1-flag;

if(Btime>=toptime)

{

Bwin++;

break;

}

}

} Achance=(float)Awin/10000; printf("A胜出的概率是%.4f.",Achance);

//计算默勒赢得55金币的几率,运行可知

//为0.68,而不是0.6,默勒

//吃亏喽~~~~(>_

return 0; }

本文标签: 赌徒概率论狡诈语言游戏