为什么只有一半分?

P1307 [NOIP2011 普及组] 数字反转

SasukeUchiha @ 2017-07-04 15:48:17

#include<stdio.h>
int main()
{
    long long n;
    scanf("%lld",&n);
    int m[8],k=0,o,i,l=0;
    if(n>=0)
    {
        n=n;
        o=0;
        }
    else
    {
        n=-n;
        o=1;
        }
    m[7]=n/100000000;
    m[6]=(n%10000000-n%1000000)/1000000;
    m[5]=(n%1000000-n%100000)/100000;
    m[4]=(n%100000-n%10000)/10000;
    m[3]=(n%10000-n%1000)/1000;
    m[2]=(n%1000-n%100)/100;
    m[1]=(n%100-n%10)/10;
    m[0]=n%10;
    if(m[0]==0&&m[1]==0&&m[2]==0&&m[3]==0&&m[4]==0&&m[5]==0&&m[6]==0)
    k=7;
    else if(m[0]==0&&m[1]==0&&m[2]==0&&m[3]==0&&m[4]==0&&m[5]==0)
    k=6;
    else if(m[0]==0&&m[1]==0&&m[2]==0&&m[3]==0&&m[4]==0)
    k=5;
    else if(m[0]==0&&m[1]==0&&m[2]==0&&m[3]==0)
    k=4;
    else if(m[0]==0&&m[1]==0&&m[2]==0)
    k=3;
    else if(m[0]==0&&m[1]==0)
    k=2;
    else if(m[0]==0)
    k=1;
    else
    k=0;
    if(m[7]==0&&m[6]==0&&m[5]==0&&m[4]==0&&m[3]==0&&m[2]==0&&m[1]==0)
    l=1;
    else if(m[7]==0&&m[6]==0&&m[5]==0&&m[4]==0&&m[3]==0&&m[2]==0)
    l=2;
    else if(m[7]==0&&m[6]==0&&m[5]==0&&m[4]==0&&m[3]==0)
    l=3;
    else if(m[7]==0&&m[6]==0&&m[5]==0&&m[4]==0)
    l=4;
    else if(m[7]==0&&m[6]==0&&m[5]==0)
    l=5;
    else if(m[7]==0&&m[6]==0)
    l=6;
    else if(m[7]==0)
    l=7;
    else
    l=8;
    if(o==1)
    printf("-");
    for(i=k;i<l;i++)
    printf("%d",m[i]);
    return 0;
}

by SasukeUchiha @ 2017-07-04 15:49:11

我看起来很疯狂的样子


by xMinh @ 2017-07-04 16:22:25

@SasukeUchiha 对,很疯狂


by Spencer·Hobart @ 2017-07-04 16:48:47

太暴力了||@SasukeUchiha


|