題目來源ios
常言道「小賭怡情」。這是一個很簡單的小遊戲:首先由計算機給出第一個整數;而後玩家下注賭第二個整數將會比第一個數大仍是小;玩家下注 t 個籌碼後,計算機給出第二個數。若玩家猜對了,則系統獎勵玩家 t 個籌碼;不然扣除玩家 t 個籌碼。spa
注意:玩家下注的籌碼數不能超過本身賬戶上擁有的籌碼數。當玩家輸光了所有籌碼後,遊戲就結束。code
輸入在第一行給出 2 個正整數 T 和 K(≤ 100),分別是系統在初始狀態下贈送給玩家的籌碼數、以及須要處理的遊戲次數。隨後 K 行,每行對應一次遊戲,順序給出 4 個數字:blog
n1 b t n2
其中 n1
和 n2
是計算機前後給出的兩個[0, 9]內的整數,保證兩個數字不相等。b
爲 0 表示玩家賭小
,爲 1 表示玩家賭大
。t
表示玩家下注的籌碼數,保證在整型範圍內。token
對每一次遊戲,根據下列狀況對應輸出(其中 t
是玩家下注量,x
是玩家當前持有的籌碼量):遊戲
Win t! Total = x.
;Lose t. Total = x.
;Not enough tokens. Total = x.
;Game Over.
並結束程序。100 4 8 0 100 2 3 1 50 1 5 1 200 6 7 0 200 8
Win 100! Total = 200. Lose 50. Total = 150. Not enough tokens. Total = 150. Not enough tokens. Total = 150.
100 4 8 0 100 2 3 1 200 1 5 1 200 6 7 0 200 8
Win 100! Total = 200. Lose 200. Total = 0. Game Over.
循環K次,每次先對剩餘籌碼進行判斷,再判斷玩家的輸贏,若是玩家輸了,扣除籌碼以後還要判斷是否等於0,籌碼爲0就GameOverci
1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 int totalMoney = 0; //總籌碼 7 int gameRound = 0; //須要處理的遊戲次數 8 int n1; //計算機給出的0-9的數 9 int b; //b=0:賭小 b=1:賭大 10 int n2; //計算機給出的0-9的數 n1!=n2 11 int t; //玩家下注量 12 13 cin >> totalMoney >> gameRound; 14 15 for (int i = 0; i < gameRound; ++i) 16 { 17 cin >> n1 >> b >> t >> n2; 18 19 if (t > totalMoney) 20 { 21 printf("Not enough tokens. Total = %d.\n", totalMoney); 22 continue; 23 } 24 25 if ((b == 0 && n1 > n2) || (b == 1 && n2 > n1)) 26 { 27 //贏了 28 totalMoney += t; 29 printf("Win %d! Total = %d.\n", t, totalMoney); 30 continue; 31 } 32 if ((b == 0 && n1 < n2) || (b == 1 && n2 < n1)) 33 { 34 //輸了 35 totalMoney -= t; 36 printf("Lose %d. Total = %d.\n", t, totalMoney); 37 } 38 39 if (totalMoney <= 0) 40 { 41 printf("Game Over.\n"); 42 i = gameRound + 1; //退出循環 43 } 44 } 45 return 0; 46 }