正整数位数分解

给出一个不多于5位的正整数,要求:

  1. 求出它是几位数
  2. 分别输出每一位数字
  3. 按逆序输出每一位数字,例如:原数字是321,输出为123;
#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    
    int x;
    int r;
    int a,b,c,d,e;
    scanf("%d",&x);
    if((x>99999)&&(x<0)) printf("请输入合法数");
    else{
    
    
        a=x%10;x=x/10;
        b=x%10;x=x/10;
        c=x%10;x=x/10;
        d=x%10;x=x/10;
        e=x%10;x=x/10;
    }
    if(e>0)
    {
    
    
        printf("每一位数字为:%d %d %d %d %d\n",e,d,c,b,a);
        printf("逆序输出该数:%d %d %d %d %d\n",a,b,c,d,e);
        r=5;
    }
    else if(d>0)
    {
    
    
        printf("每一位数字为:%d %d %d %d \n",d,c,b,a);
        printf("逆序输出该数:%d %d %d %d\n",a,b,c,d);
        r=4;
    }
    else if(c>0)
    {
    
    
        printf("每一位数字为:%d %d %d \n",c,b,a);
        printf("逆序输出该数:%d %d %d %d\n",a,b,c);
        r=3;
    }
    else if(b>0)
    {
    
    
        printf("每一位数字为:%d %d\n",b,a);
        printf("逆序输出该数:%d %d %d %d\n",a,b);
        r=2;
    }
    else if(a>0)
    {
    
    
        printf("每一位数字为:%d %d %d %d %d\n",a);
        printf("逆序输出该数:%d %d %d %d\n",a);
        r=1;
    }
    printf("%d",r);
    return 0;
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41358807/article/details/109204805