第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

C++ 關(guān)于趣味取球的算法?

C++ 關(guān)于趣味取球的算法?

C++
大話西游666 2018-10-28 06:02:19
題目是這樣的:已知袋中有若干個(gè)白球和黑球,每次從中取出2個(gè)球。如果取出的兩個(gè)球?yàn)橥?,則放回一個(gè)白球(袋外有足夠的白球);如取出的兩個(gè)球?yàn)楫惿瑒t放回一個(gè)黑球。試設(shè)計(jì)取球過程的默契程序,并判斷最后剩下一個(gè)球的顏色!問題:開始是不是應(yīng)該把這些球色定義為0或1 放在數(shù)組里?? 那怎么做到隨機(jī)呢?用什么函數(shù)?給個(gè)算法吧~~~~~?。?!
查看完整描述

1 回答

?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊

給,已經(jīng)編譯運(yùn)行確認(rèn):
#include <iostream>
#include <time.h>

using namespace std;

enum Ball
{
white,
black
};

int main(int argc, char *argv[])
{
//定義袋中黑白球的數(shù)目
int BlackNum;
int WhiteNum;

//由用戶指定袋中的黑白球數(shù)目
cout << "請(qǐng)輸入袋中白球的數(shù)目" << endl;
cin >> WhiteNum;
cout << "請(qǐng)輸入袋中黑球的數(shù)目" << endl;
cin >> BlackNum;

//初始化隨機(jī)數(shù)種子
srand((unsigned)time(NULL));
int times = 0; //取球的次數(shù)

while ((BlackNum + WhiteNum) > 1)
{
++times;
int FirstBall;
int SecondBall;

//每次取得的第一個(gè)和第二個(gè)球
if (WhiteNum == 0) //袋中已沒有白球,則只能取黑球
{
FirstBall = black;
cout << "第 " << times << "次取出的第一個(gè)球?yàn)楹谏?quot; << endl;
--BlackNum;
}
else if (BlackNum == 0)//袋中已沒有黑球
{
FirstBall = white;
cout << "第 " << times << "次取出的第一個(gè)球?yàn)榘咨?quot; << endl;
--WhiteNum;
}
else //否則隨機(jī)取得一個(gè)球
{
FirstBall = rand() % 2;
if (FirstBall == white)
{
cout << "第 " << times << "次取出的第一個(gè)球?yàn)榘咨?quot; << endl;
--WhiteNum;
}
else
{
cout << "第 " << times << "次取出的第一個(gè)球?yàn)楹谏?quot; << endl;
--BlackNum;
}
}

if (WhiteNum == 0) //袋中已沒有白球,則只能取黑球
{
SecondBall = black;
cout << "第 " << times << "次取出的第一個(gè)球?yàn)楹谏?quot; << endl;
--BlackNum;
}
else if (BlackNum == 0)//袋中已沒有黑球
{
SecondBall = white;
cout << "第 " << times << "次取出的第一個(gè)球?yàn)榘咨?quot; << endl;
--WhiteNum;
}
else
{
SecondBall = rand() % 2;

if (FirstBall == white)
{
cout << "第 " << times << "次取出的第二個(gè)球?yàn)榘咨?quot; << endl;
--WhiteNum;
}
else
{
cout << "第 " << times << "次取出的第二個(gè)球?yàn)楹谏?quot; << endl;
--BlackNum;
}

}

//根據(jù)取出的兩個(gè)球的顏色是否相等來覺得是放黑球進(jìn)去還是白球進(jìn)去
if (FirstBall == SecondBall)
{
++WhiteNum;
}
else
{
++BlackNum;
}

}

if (WhiteNum == 1)
{
cout << "最后一個(gè)球?yàn)榘浊?quot; << endl;
}
else
cout << "最后一個(gè)球?yàn)楹谇?quot; << endl;
system("pause");
}



查看完整回答
反對(duì) 回復(fù) 2018-11-18
  • 1 回答
  • 0 關(guān)注
  • 845 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)