L1-062 幸运彩票 (15 分) 彩票的号码有 6 位数字,若一张彩票的前 3

问题遇到的现象和发生背景

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<stdio.h>
int main()
{
    int n,i,x,y;
    int a[n];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d\n",&a[i]);
    }
    x=a[i]/100000+(a[i]/10000)%10+(a[i]/1000)%100;
    y=a[i]%100000+(a[i]%10000)/10+(a[i]%1000)%100;
    for(i=0;i<n;i++)
    {
        if(x==y)
        {
            printf("You are lucky!\n");
        }
        else
        {
            printf("Wish you good luck.\n");
        }
    }
    return 0;
}

运行结果及报错内容

You are lucky!
You are lucky!

我的解答思路和尝试过的方法

不太明白哪里出了错误

我想要达到的结果

#include<stdio.h>
int main()
{
    int a,b,c,d,e,f,g,h;
    scanf("%d",&a);
    for(b=0;b<a;b++)
    {
        scanf("%1d%1d%1d%1d%1d%1d",&c,&d,&e,&f,&g,&h);
        if(c+d+e==f+g+h)
        {
            printf("You are lucky!\n");
        }
        else
        {
            printf("Wish you good luck.\n");
        }
    }
    return 0;
}

运行结果:

img