微信小游戏跳一跳-switch语句

微信小游戏跳一跳(易)

问题描述:微信游戏跳一跳游戏规则如下:短跳得1分,跌落游戏结束,长跳得2分,并且长跳可连续累加,第一次2分,第二次4分,第三次6分,依次类推,若长跳中断则重新从每次2分开始计算。
现给定0,1,2的组合序列,其中0:跌落 1:短跳 2:长跳
请你计算玩家当次游戏的合计得分。

输入格式:首先输入一个数字n代表当前游戏状态变化数,接着输入n个由0,1,2组合的数字,0代表结束。

输出格式:输出玩家当次游戏得分。

测试样例:

输入样本
8
1 2 2 1 2 2 2 0
输出样本
20
做题思路

本题比较简单,可以设置一个变量c来记录出现2的次数,若长跳中断,则重置c=0;这样方便计算。

#include <iostream>

using namespace std;

int cal_sum(int a[],int n){
    int sum=0,c=0;
    for(int i=0;i<n;i++){
        switch(a[i]){
        case 1:
            sum=sum+1;
            c=0;
            break;
        case 2:
            sum=sum+2*(c+1);
            c++;
            break;
        default:
            break;
        }
    }
    return sum;
}

int main()
{
    int n;
    int sum=0;
    cin >> n;
    int a[n];
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    sum=cal_sum(a,n);
    cout << sum << endl;
    return 0;
}

注意switch的用法:(不要忘记break!!!
switch 是一种选择结构的语句,用来代替简单的、拥有多个分枝的 if else 语句,基本格式如下:

switch(表达式){
case 整型数值1: 语句 1;
break;
case 整型数值2: 语句 2;
break;

case 整型数值n: 语句 n;
break;
default: 语句 n+1;
break;
}

下文链接:https://blog.csdn.net/slient_love/article/details/104284351

发布了5 篇原创文章 · 获赞 0 · 访问量 206

猜你喜欢

转载自blog.csdn.net/slient_love/article/details/104277371