请问下面一题怎么编程(C++)
来源:百度知道 编辑:UC知道 时间:2024/05/14 11:38:33
分析一下每次取球,有25%的几率取出两个白球,有25%的几率取出两个黑球,有50%的几率取出一个黑球一个白球。
下面的程序先初始化白球、黑球的数量,然后在随机设置取球的动作,循环到最后,只剩下一个球。
#define TWO_WHITE 0 //取出两个白球
#define TWO_BLACK 3 //取出两个黑球
#include "stdlib.h"
#include "time.h"
int main(void)
{
time_t t;
int cur_black;
int cur_white;
int op; //op随机取球动作的含义 0:两个白球 1:一个白球一个黑球 2:一个黑球一个白球(同1) 3:两个黑球
void print_status(int,int,int);
srand((unsigned) time(&t));
cur_black = 10+rand()%10; //初始化黑球的数量(可以修改为其他值)
cur_white = 10+rand()%10; //初始化白球的数量(可以修改为其他值)
printf("before operate: count_black=%d, count_white=%d\n",cur_black,cur_white);
while(cur_black+cur_white>1)
{
op=rand()%4; //设置随机取球的动作
switch( op )
{
case TWO_WHITE :
if( cur_white>=2 )
{
cur_white -= 2 ;
cur_white++;
print_status(op,cur_black,cur_white);
}<