题目:
彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。
输入格式:
输入在第一行中给出一个正整数 N(≤ 100)。随后 N 行,每行给出一张彩票的 6 位数字。
输出格式:
对每张彩票,如果它是幸运的,就在一行中输出 You are lucky!
;否则输出 Wish you good luck.
。
输入样例:
2
233008
123456
输出样例:
You are lucky!
Wish you good luck.
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
题意解析:
进行n次判定,每次输入6位数字,判定该数字的前三位之后是否等于该数字的后三位之和,如果满足,输出"You are lucky!"并换行,否则,输出"Wish you good luck."并换行
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
while(n -- ){//对n个字符串进行判定
int n1 = 0, n2 = 0;
string ch;//用字符串存储或者直接数字存储均可,因为字符串处理比较简答,所以这里我选择用字符串
cin >> ch;
for(int i = 0; i < 6; i ++ )
if(i < 3) n1 += (ch[i] - '0'); // ch[i] - '0' 可以将字符类型的数字转为整型类型的数字
else n2 += (ch[i] - '0');
if(n1 == n2) cout << "You are lucky!" << '\n';//前三个数字和等于后三个数字和,输出You are lucky!
else cout << "Wish you good luck." << '\n';//否则输出Wish you good luck.
}
return 0;
}