题目描述
商店正在做促销活动。每个顾客在付款的时候,都有机会掷一次骰子,如果掷出6,可以获得优惠,并且可以继续掷骰子,直到出现不是6的情况为止。获奖规则如下:
- 如果掷出三个6,优惠1000元;
- 否则,如果连续掷出两个6,优惠100 元;
- 否则,如果掷出一个6,优惠10 元。
给定小爱掷出的骰子点数的情况,请输出她可以获得的优惠金额。
输入格式
输入由若干个整数(最多三个)构成:
- 若输入有三个数字,则保证前两个数字为6;
- 若输入有两个数字,则保证第一个数字为6,后一个数字不为6;
- 若输入只有一个数字,则保证该数字不为6。
输出格式
单个整数:表示获得的优惠金额。
数据范围
保证输入的每个数字在1到6之间。
样例数据
样例1
输入
6 3
输出
10
样例2
输入
6 6 6
输出
1000
思路
因为如果不是6就结束了,所以用while读入,如果不是6就break,用sum统计有多少个6,输出pow(10,sum);
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int sum=0,a;//记录6的个数,注意清零
while(cin>>a)//循环输入
{
if(a!=6)
{
break;//如果不是6就结束
}
sum++;//6的个数+1
if(sum==3)
{
break;//如果是三个了也结束
}
}
if(sum==0)//如果没扔出6就没有优惠
{
cout<<0<<endl;
return 0;//结束程序
}
cout<<pow(10,sum)<<endl;//优惠的钱数
return 0;
}
做题的时候我一直在想如果扔出了三个6,然而你只买了一瓶水那怎么办/doge