原题链接:
https://blog.csdn.net/tigerisland45/article/details/81638188
总结题目后,提炼出几个重要的点如下:
玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。
如果跳到了方块上,但没有跳到方块的中心则获得1分;
跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8…)。
---------------------
跳转失败:0 游戏结束
跳转成功:1、 非中心:1分
2、 中心:①上一次得分1分,本次得分2分
②本局游戏的第一次跳跃,本次得分2分
③否则本局得分比上次多2分(连续跳到中心,则加分为2,4,6,8,10.....)
#include<stdio.h>
int main(){
int num,count=0,flag=0,sore =0;//num输入的数值,flag数值标签,sore总得分
scanf(“num = %d”,%num);
while(num!=0){
if(num==1)
flag=1;
else if (num==2&&flag==1||count==1)
flag=2;
else if(num==2&&flag%2==0)
flag += 2;
score+=flag;
}
printf(“score = %d”,&score);
return 0;
}
以上自测可行。
样例输入:
1 1 2 2 2 1 1 2 2 0
样例输出:
22