学校OJ(绝对素数)求挑错(太难受了)

学校OJ
死活找不到错哪(枯了,求挑错)

img


#include
#include
int prm(unsigned int );
unsigned int rev(unsigned int );
int main()
{
    unsigned int n;
    scanf("%u",&n);
    while(n--)
    {
        unsigned int m,t;
        scanf("%u",&m);
        if(prm(m)==0)
            printf("0\n");
        else
        {
            t = rev(m);
            if(prm(t)!=0)
                printf("1\n");
            else if(prm(t)==0)
                printf("0\n");
        }
    }
    return 0;
}
int prm(unsigned int a)
{
    int i,k;
    k = sqrt(1.0*a);
    for(i=2;i<=k;i++)
    {
        if(a%i==0)
            return 0;
        if(i>k)
            return 1;
    }
}
unsigned int rev(unsigned int b)
{
    int v=0;
    while(b!=0)
    {
        v = v*10+b%10;
        b/=10;
    }
    return v;
}


#include <stdio.h>
#include <math.h>
int prm(unsigned int);
unsigned int rev(unsigned int);
int main()
{
    unsigned int n;
    unsigned int t;
    scanf("%u", &n);
    unsigned int m[100000] = {0};
    for (int i = 0; i < n; i++)
    {
        scanf("%u", &m[i]);
    }
    for (int i = 0; i < n; i++)
    {

        if (prm(m[i]) == 0)
            printf("0\n");
        else
        {
            t = rev(m[i]);
            if (prm(t) != 0)
                printf("1\n");
            else if (prm(t) == 0)
                printf("0\n");
        }
    }

    return 0;
}
int prm(unsigned int a)
{
    int i, k;
    k = sqrt(1.0 * a);
    for (i = 2; i <= k; i++)
    {
        if (a % i == 0)
            return 0;
        if (i > k)
            return 1;
    }
}
unsigned int rev(unsigned int b)
{
    int v = 0;
    while (b != 0)
    {
        v = v * 10 + b % 10;
        b /= 10;
    }
    return v;
}

你没有写错,只不过没有按照题目规则输入和输出,题目是先全部输入后再全部输出结果

img


还是wrong answer,我这学校OJ是有毒吧