这个测试点二怎么过?

这个测试点二怎么过?

img

img



#include
int main()
{
    char a[20];
    int i,n;
    scanf("%d", &n);
    int  p[17] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
    int check;
    int j; int flash = 1; int cnt = 0;
    for (i = 0; i < n; i++)
    {
        scanf("%s", a);
        flash = 1; check = 0;
        for (j = 0; j < 17; j++)
        {
            check = check + (a[j] -'0') * p[j];

            if (a[j] - '0' < 0 || a[j] - '0' >9)
            {
                flash = 0; break;
            }
        
            
        }
        check %= 11;
        char m[] = {'1','0','x','9','8','7','6','5','4','3','2'};
        char q = m[check];

        if (a[17] != q)
        {
            flash = 0;
        }
        


        if (flash == 0)
        {
            printf("%s", a);
            printf("\n");
        }
        else if (flash == 1)
        {
            cnt++;
        }

    }
    if (cnt == n)
    {
        printf("All passed");
    }
    return 0;
}

X是大写的,你写成小写了,那么所有结尾是X的你这判断肯定都不对