天天看點

NOIP 2011 普及組 複賽 reverse 數字反轉

NOIP 2011 普及組 複賽 reverse 數字反轉

1.該題核心是分離出數字的個十百千萬等位數字。

2.該題的陷阱是輸入900000,輸出9,這個不容易想到。

附上AC代碼,編譯環境Dev-C++4.9.9.2

#include <stdio.h>

int main(){

    int n;

    int a[20];

    int top;

    int flag;

    int i,j;

    scanf("%d",&n);

    if(n==0){//n=0處理

        printf("0\n");

        return 0;

    }

    if(n>0)//大于0

        flag=1;

    else{//小于0

        flag=-1;

        n*=-1;

    }    

    top=-1;

    while(n){

        top++;

        a[top]=n%10;

        n/=10;

    }

    if(flag==-1)

        printf("-");

    j=0;

    while(a[j]==0&&j<=top)

        j++;

    for(i=j;i<=top;i++)

        printf("%d",a[i]);

    return 0;

}

//洛谷 p1307 數字反轉

//難度:入門難度

//考點:輸入,輸出 ,整數四則運算,取整,取模  

//适用:國小生

#include <stdio.h>

int main(){

    int n;

    int ans=0;

    scanf("%d",&n);

    if(n<0){

        printf("-");

        n=-n;

    }

    while(n){

        ans*=10;

        ans+=n%10;

        n/=10;

    }

    printf("%d\n",ans);

    return 0;

}