[说明]
有一种游戏,是用滚球击十个柱-比赛分为十局,每局可滚球一次或多次,其规则和记分方法如下;
(1)若一局的第一个球击倒全部十个柱( 称为 strike ),则这局不再滚球( 例外,对第十局来说,还可补滚两次球 ),其得分为 10 加下两次滚球所击倒的柱数。
(2)若一局的第一个球未击倒十个柱,则可对剩下的柱再滚一次球。如果这局的两次滚球击倒全部十个柱( 称为 spare ),则这局不再滚球( 例外,对第十局来说,还可补滚一次球 ),其得分为 10 加上下一次滚球所击倒的柱数,否则,这局也不再滚球,其得分为本局两次滚球所击倒的柱数之和。
(3)总得分为十局得分之和。 流程图读入每球击倒的柱数,计算并输出每局得分 scor 及总分 total。图中 ball1 和 ball2 分别存放每局第一个球和第二个球( 如有的话 )所击倒的柱数,frame 用于对局计数。 [问题1] 填充流程图中的 ①~⑤,使之成为完整的流程图。 [问题2] 若要把每球击倒的柱数记录在一个一维效组中,这个数组最少要有几个元素,最多要有 几个元素。 若计算每局得分的规则增加一条:当前面各局累积得分超过 100 分时,每取得一次 strike 奖励 5 分,那么右边的小流程图应插在总流程图中 A~H 的哪一个位置上。 |
|
答案:
[问题1]
①ball2→ball1 ②lO+ball1+ball2→score ⑧ball1+ball2:10
④10+ball1→score ⑤ball1+ball2→score
[问题2]
最少11个,最多21个
[问题3]
小流程图应插在总流程图的B点