给一个不多于5位的正整数,要求: 1.求出它是几位数; 2.分别输出每一位数字; 3.按逆序输出各位数字

给一个不多于5位的正整数,要求: 1.求出它是几位数; 2.分别输出每一位数字; 3.按逆序输出各位数字;

对于一个数具体有多少位,代码如下:

#include <stdio.h>
    void main()
    {
        int num;
        int a,b,c,d,e,n; /*分别代表各位、十位、百位、千位、万位和位数*/
        printf("请输入一个整数(0-99999):");
        scanf("%d",&num);
        if(num>99999)
            n=5;
        else if
            (num>999) n=4;
        else if
            (num>99) n=3;
        else if
            (num>9) n=2;
        else  n=1;
        printf("这是一个 %d 位的整数\n",n);
        printf("每位数字为:");
        e=num/10000;
        d=(num-e*10000)/1000;
        c=(num-e*10000-d*1000)/100;
        b=(num-e*10000-d*1000-c*100)/10;
        a=num-e*10000-d*1000-c*100-b*10;
     switch(n)
     {
            case 5:
       {
            printf("%d,%d,%d,%d,%d\n",e,d,c,b,a);
                 printf("反序数字为:");
                    printf("%d%d%d%dl%d\n",a,b,c,d,e);
       }
            break;
            case 4:
       {
            printf("%d,%d,%d,%d\n",d,c,b,a);
                 printf("反序数字为:");
                    printf("%d%d%d%d\n",a,b,c,d);
       }
            break;
            case 3:
       {
            printf("%d,%d,%d\n",c,b,a);
                 printf("反序数字为:");
                    printf("%d%d%d\n",a,b,c);
       }
            break; 
            case 2:
       {
            printf("%d,%d\n",b,a);
                 printf("反序数字为:");
                    printf("%d%d\n",a,b);
       }
            break;
            case 1:
       {
            printf("%d\n",e);
                printf("反序数字为:");
                    printf("%d\n",a);
       }
             break;
     }
    }
  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值