C語言保齡球

2021-10-18 07:43:23 字數 1994 閱讀 4577

保齡球計分規則簡單總結如下:

每次遊戲有10輪

每一輪,投手有兩次投擲機會擊倒所有瓶子 如果在兩次投擲中,投手沒有擊倒所有瓶子,他在本輪分數計為兩次擊倒的瓶子數之和

如果在某一輪的首次就擊倒所有瓶子,這稱為乙個「strike」(一投全倒),則本輪結束,本輪分數計為10+後續兩次擊倒的瓶子總數

如果在某一輪次兩次投球中擊倒了所有瓶子,這稱為乙個"spare"(二投全倒),本輪分數計為10+下一次投擲(下一輪次裡的首次投擲)所擊倒的瓶子數

如果在第10輪投出乙個spare或strike,投手將分別贏得1次或2次投擲獎勵機會。這些獎勵的投擲是作為同一輪的一部分。如果獎勵投擲擊倒所有瓶子,則整個過程結束。獎勵投擲僅用於計算最後一輪的得分。

遊戲總分=所有輪次分數總和

我在此感謝 「故事的撰寫人」 這位碼友

十分感謝他指出了我第一版****現的一些錯誤,下面是我更正之後的第二版**,也歡迎更多的小夥伴來相互交流和學習?♥

#

include

#include

int getpoint[10]

;void

judge

(int num)

}void

print

(int scores[20]

[2])

}putchar

('\n');

}}void

initarray

(int scores[20]

[2],

int getpoint[10]

)//初始化

}for

(int i=

0;i<

10;i++)}

void

finaldeal

(int scores[20]

[2])

else

}else

if(scores[i][0

]<

10&&

(scores[i][0

]+scores[i][1

]==10)

)else

//兩次得分相加都比 10小

//這樣迴圈 9 次就得到了 前 9 輪 每一輪的真實成績

}//第10輪:

if(scores[9]

[0]==

10)//額外獲得了2次投擲獎勵機會

else

if(scores[9]

[0]<

10&&

(scores[9]

[0]+scores[9]

[1]==

10))//額外獲得了1次投擲獎勵機會

else

for(

int i=

0;i<

10;i++

)printf

("~最終的得分為: %d\n\n"

,finalpoint);}

intmain()

else}if

(i==

9&& scores[i][0

]==10)

//額外獲得2次投擲獎勵機會

if(scores[9]

[0]<

10&&

(scores[9]

[0]+scores[9]

[1]==

10))//額外獲得1次投擲獎勵機會

//上述結果的檢驗正確(2+4+6+8+10+6+10+7+10+8+10+9+10+10+10*3)=140

方法不唯一,這是我採用的。

分享出來希望能能和大家多多交流?

堅果保齡球題解(c )

1.由題可知棋盤大小為 6 行 60 列,遊戲開始後每秒任意行的最後一列都有可能出現若干zombie,玩家每秒可以在任意行的第一列放置若干堅果,堅果可瞬間殺死所在行的所有zombie,zombie每秒向左走一列,走到第一列時還沒有堅果殺死zombie則遊戲失敗。2.題目要求用最少的堅果殺死所有zom...

再見,保齡球

出差到了哈爾濱,天氣逐漸變冷,緊張工作之餘,領導帶我們去放鬆一下,打保齡球。來到火車站附近的崑崙大酒店,4層開了乙個保齡球俱樂部。等了近乙個時辰,開了兩個道,開始扔球。一行六人,領導以前有練過,以前能打200分以上 這是我第3次打保齡球 另乙個同事m則是第2次打 其他同事則是第1次。我和同事l z一...

保齡球計分問題

題目描述 在保齡球比賽中,已知每次擊倒的保齡球數,計算在一局比賽中乙個人的得分,要算出每一輪的得分和每一輪之後的累加得分。保齡球比賽一局共10輪,前9輪中每一輪最多滾兩次球 第十輪可以滾兩次或3次球。每輪計分規則為 1 如果一輪中第乙個球擊倒全部10個保齡球,稱為strike 好球 則這一輪的得分等...