天梯赛 L1-062 幸运彩票 (15 分)
题目
彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。
输入
输入在第一行中给出一个正整数 N(≤ 100)。随后 N 行,每行给出一张彩票的 6 位数字。
输出格式:
对每张彩票,如果它是幸运的,就在一行中输出 You are lucky!
;否则输出 Wish you good luck.
。
测试样例
输入样例:
2
233008
123456
输出样例:
You are lucky!
Wish you good luck.
简单分析:
- 不要使用一个整数读入,六位数是给定的,但可能是000123这种形式;或者使用scanf(“%6d”, &x),但是还要分别取出前三位和后三位再相加;
- 法一:可以单独输入每一个数scanf(“%1d”, &x);
代码:
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
while (n--) {
int a, b, c, d, e, f;
scanf("%1d%1d%1d%1d%1d%1d", &a, &b, &c, &d, &e, &f);
if (a + b + c == d + e + f) puts("You are lucky!");
else puts("Wish you good luck.");
}
return 0;
}
感悟
不要犯混,记得要干什么。第一次做题把它当成了要求前三位数和后三位数的。。。