给一个不多于5位的正整数,要求:①求出它是几位数;②分别输出每一位数字;③按逆序输出各位数字,例如原数为321,应输出123

#include <stdio.h>
int main( )
{
    int a,b,c,d,e,x;                   //定义5个数,x为输入的正整数。
    scanf("%d",&x);                 //输入一个整数值,赋值给x
    a=x/10000;                      //a为万位数,即x/10000可得到
    b=x%10000/1000;           //% 是整除取余数运算,x%10000 就是取出 x 的 千百十个4位。
    c=x%1000/100;    
    d=x%100/10;     
    e=x%10; 
    if (a!=0)           
    {
        printf("是5位数,逆序为: %d %d %d %d %d\n",e,d,c,b,a);
        printf("分别是:%d %d %d %d %d\n",a,b,c,d,e);
    } 
    else if(b!=0)
    {
         printf("是4位数,逆序为: %d %d %d %d\n",e,d,c,b);
         printf("分别是:%d %d %d %d\n",b,c,d,e);
    } 
    else if(c!=0)
    {
         printf("是3位数,逆序为:%d %d %d\n",e,d,c);
         printf("分别是:%d %d %d\n",c,d,e);
    }
    else if(d!=0) {
         printf("是2位数,逆序为: %d %d\n",e,d);
         printf("分别是:%d %d\n",d,e);
    } 
    else if(e!=0) 
    {
         printf("是1位数,逆序为:%d\n",e);
         printf("分别是:%d\n",e);
    }
}

猜你喜欢

转载自blog.csdn.net/m0_58111687/article/details/124105731