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.
分离位数,对半求和
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
int check(string);
int flag;
string str;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> str;
flag = check(str);
if (flag == 1)
cout << "You are lucky!" << endl;
if (flag == -1)
cout << "Wish you good luck." << endl;
}
return 0;
}
int check(string s)
{
int len = s.size();
int sum1 = 0;
int sum2 = 0;
int i;
for (i = 0; i <s.length(); i++)
{
if (i <= 2)
sum1 = sum1 + (s[i] - '0');
else if (i > 2)
sum2 = sum2 + (s[i] - '0');
}
if (sum1 == sum2)
return 1;
else
return -1;
}