哪里错了啊QAQ

P1307 [NOIP2011 普及组] 数字反转

aoaoaomio @ 2017-10-02 14:04:50

为什么我自己输入数字得到都是正确的答案,aqours的输出却不一样????

#include<stdio.h>
#include<math.h>
int main()
{
    long int a,b,c,d,f;
    int i,n;
    scanf("%ld",&a);
    c=0;
    if(a<0)d=b=-a;
    else d=b=a;
    while(b/10>0)
    {
        n=n+1;
        b=b/10; 
    }
    for(i=0;i<=n;i++)
    {
        f=pow(10,n-i);
        c=c+(d%10)*f;
        d=d/10;
    }
    if(a<0)c=-c;
    printf("%ld",c);
    return 0;
}

|