题目:
乎乎最近迷上买“双位彩”,彩票的获奖号码由两位非零数组成,中奖规则如下:
如果乎乎买的彩票号码和中奖号码完全相同,奖金为100元;
如果乎乎买的彩票号码仅能匹配中奖号码的所有数字,奖金为20元;
如果乎乎买的彩票号码仅能匹配中奖号码的一个数字,奖金为2元。
输入描述:
一行,输入两个两位整数,分别表示获奖号码和乎乎买的彩票号码(范围11~99) 。
输出描述:
一行,一个整数,表示获奖奖金。
示例1
输入
86 68
输出
20
备注:
提示:需要考虑没有中奖的情况。
二、题目解析
1.创建需要的变量,输入两个数字
代码如下:
#include <iostream>
using namespace std;
int main()
{
int num,x,c,d,e,f; //num为获奖号码 x为购买的号码
cin>>num>>x;
2.分别获取个位和十位数字
代码如下:
c=x/10; //c为购买号码的十位数字
d=x%10; //d为购买号码的个位数字
e=num/10; //e为获奖号码的十位数字
f=num%10; //f为购买号码的个位数字
3.判断获奖情况
代码如下:
if(num==x) cout<<"100"; //首先判断获奖号码和购买号码是否相同
else if(d*10+c==num) cout<<"20"; //表示购买号码和获奖号码数字相同但顺序不同
else if(c==e||c==f||d==e||d==f) cout<<"2"; //表示购买号码和获奖号码只能匹配一个数字
else cout<<"0"; //最后没有获奖输出0
return 0;
}
4.全部代码
#include <iostream>
using namespace std;
int main()
{
int num,x,c,d,e,f;
cin>>num>>x;
c=x/10;
d=x%10;
e=num/10;
f=num%10;
if(num==x) cout<<"100";
else if(d*10+c==num) cout<<"20";
else if(c==e||c==f||d==e||d==f) cout<<"2";
else cout<<"0";
return 0;
}
总结
本题题干已经明确表示数字是两位数,所以可以直接对数字各位进行拆分,接着根据题干要求进行if多个分支的判断即可。