帮帮我解一下这道题吧

img

#include<stdio.h>  
#include<math.h>  
int main()  
{     
    int a,b1,b2,b3 ;
    scanf("%d",&a);
    if(a<100||a>1000) 
        return 0;
    b1=a/100;
    b2=a%100/10;
    b3=a%10;
    if(b3==0&&b2==0)
        printf("%d",b1);
    else if(b3==0)
        printf("%d%d",b2,b1);
    else 
        printf("%d%d%d",b3,b2,b1);
    return 0;  
} 

供参考;

#include<stdio.h>
int main()
{
    int n,m=0;
    scanf("%d",&n);
    while(n){
            m = m*10 + n%10;
            n /= 10;
    }
    printf("%d\n",m);
    
    return 0;
}


#include <stdio.h>
int main()
{
    int i = 0,count = 2;
    int arr[3] ;
    printf("输入3位整数:");
    for(i=0;i<3;i++)
    {   
        scanf("%1d",&arr[i]);
    }   

    if(arr[2]==0)
    {   
        count = 1;  
    }   
    if(arr[1]==0)
    {   
        count = 0;
    }   

    for(i=count;i>=0;i--)
    {   
        printf("%d",arr[i]);
    }   
    printf("\n");
    return 0;
}