练习三 控制结构编程题1. 台球游戏

【问题描述】

        在本台球游戏中,包含多种颜色的球,其中:红球15只各1分、黄球1只2分、绿球1只3分、咖啡球1只4分、蓝球1只5分、粉球1只6分、黑球1只7分。

        球的颜色表示为:

                           r-红色球 y-黄色球 g-绿色球 c-咖啡色球 b-蓝色球 p-粉红球 B-黑色球

        其中红球可能一次打进多个,且打进后不再摆回,其他球打进之后需要再摆回。

        请计算n次击打之后总的得分。

【输入形式】

        输入第一行为非负整数n,表示一个人进行了n次击打。

        接下来为n次击打记录,每次记录有两种形式:

                 如果打进红球,则有两行, 第一行为r,第二行为一个整数(<=15),表示打进的红球个数

                 如果打进其他球,仅有一行,为ygcbpB中任意一个字符。
【输出形式】

        输出一个整数,表示该人最终的得分。
【样例输入1】

5
r
3
g
y
r
1
B

【样例输出1】

16

【样例输入2】

5
c
g
y
c
B

【样例输出2】

20
#include <iostream>

using namespace std;

int main()
{
	int n,sum,beat;
	cin>>n;
	char a;                    //输入的是单个字母,数据类型用char
	for (int i=0; i<n; i++)
	{
		cin>>a;
		switch (a){            //用switch处理较多种情况,记清楚switch应与case连用
			case('r'):{        //冒号后的大括号可以省略,所有的都是
				cin>>beat;     //红球最特殊,再次输入打入个数
				sum+=beat;
				break;
			}
			case('y'):{
				sum+=2;
				break;
			}
			case('g'):{
				sum+=3;
				break;
			}
			case('c'):{
				sum+=4;
				break;
			}
			case('b'):{
				sum+=5;
				break;
			}
			case('p'):{
				sum+=6;
				break;
			}
			case('B'):{
				sum+=7;
				break;
			}
		}	
	}cout<<sum;
	return 0;
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值