L1 072 刮刮彩票 20 分

2021-10-19 07:37:31 字數 1621 閱讀 5453

每次遊戲玩家會拿到一張彩票,上面會有 9 個數字,分別為數字 1 到數字 9,數字各不重複,並以 3×3 的「九宮格」形式排布在彩票上。

在遊戲開始時能看見乙個位置上的數字,其他位置上的數字均不可見。你可以選擇三個位置的數字刮開,這樣玩家就能看見四個位置上的數字了。最後玩家再從 3 橫、3 豎、2 斜共 8 個方向中挑選乙個方向,方向上三個數字的和可根據下列**進行兌獎,獲得對應數額的金幣。

現在請你寫出乙個模擬程式,模擬玩家的遊戲過程。

輸入第一部分給出一張合法的彩票,即用 3 行 3 列給出 0 至 9 的數字。0 表示的是這個位置上的數字初始時就能看見了,而不是彩票上的數字為 0。

第二部給出玩家刮開的三個位置,分為三行,每行按格式 x y 給出玩家刮開的位置的行號和列號(題目中定義左上角的位置為第 1 行、第 1 列。)。資料保證玩家不會重複刮開已刮開的數字。

最後一部分給出玩家選擇的方向,即乙個整數: 1 至 3 表示選擇橫向的第一行、第二行、第三行,4 至 6 表示縱向的第一列、第二列、第三列,7、8分別表示左上到右下的主對角線和右上到左下的副對角線。

對於每乙個刮開的操作,在一行中輸出玩家能看到的數字。最後對於選擇的方向,在一行中輸出玩家獲得的金幣數量。

1 2 3

4 5 6

7 8 0

1 12 2

2 3715

6180

建乙個陣列,然後按題目要求進行操作,我建成了乙個結構體,順便標記了一下看得見的數字和看不見的數字,屬於多此一舉了,哈哈。

#include

using

namespace std;

typedef

struct node node;

void

repair

(node (

*caipiao)[4

])for(

int i =

1; i <

4; i++

) flag[caipiao[i]

[j].data]+=

1;}}

for(

int i =

1; i <

10; i++)}

return;}

void

print

(node

(*caipiao)[4

],int oper);if

(oper <=3)

}else

if(oper <=6)

}else

if(oper ==7)

else

if(oper ==8)

cout << win[sum -6]

;}intmain()

}repair

(caipiao)

;//補全0處的數字

for(

int i =

0; i <

3; i++

)int oper;

cin >> oper;

print

(caipiao, oper)

;return0;

}

L1 072 刮刮彩票 20分 (讀題讀錯的)

也不知道是題目的描述有問題,還是我的閱讀理解有點問題 可能我需要再次回爐重造了 語文老師,我對不起你們啊 白學這麼多年的語文了 原來他的獎金不是根據刮出來的那幾個算啊,原來是要全刮出來之後再去算 咱也不知道留的那個0有什麼用?唉,這麼簡單的題都讀不明白 語文真的廢了啊 不說了,直接上來題目吧,也不知...

L1 8 刮刮彩票

刮刮彩票 是一款網路遊戲裡面的乙個小遊戲。如圖所示 每次遊戲玩家會拿到一張彩票,上面會有 9 個數字,分別為數字 1 到數字 9,數字各不重複,並以 3 3 的 九宮格 形式排布在彩票上。在遊戲開始時能看見乙個位置上的數字,其他位置上的數字均不可見。你可以選擇三個位置的數字刮開,這樣玩家就能看見四個...

Android刮彩票效果

實現分析 1.底部一張 2.頭部是乙個矩形遮擋 3.通過滑動監聽,讓矩形缺失,露出底部 private rectf rectf private bitmap bitmap bitmapfactory.decoderesource getresources r.drawable.test 頭部 pri...