给一个不多于5位的整数,要求(1)求出他是几位数(2)分别输出每一位数字(3)按逆序输出各位数字,例如原数为321,应输出123

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

(1)求出他是几位数;

(2)分别输出每一位数字;

(3)按逆序输出各位数字,例如原数为321,应输出123;

代码: 

#include<stdio.h>

#include<math.h>

int main()

{

    int num,G,S,B,Q,W,place;//G,S,B,Q,W分别代表各位,十位,百位,千位

    printf("请输入一个数(0-9999\n");

    scanf("%d",&num);

    if(num>9999)

     place=5;

    else if(num>999)

    place=4;

    else if(num>99)

    place=3;

    else if(num>9)

    place=2;

    else place=1;

    printf("这个数的位数==%d\n",place);

    W = num/10000;

    Q = (int)(num - W*10000)/1000;

    B = (int)(num - W*10000-Q*1000)/100;

    S = (int)(num - W*10000-Q*1000-B*100)/10;

    G = (int)(num - W*10000-Q*1000-B*100-S*10);

    switch(place)

    {

                 case 5:

                 printf("分别输出的每一位数字为:\n");

                 printf("%d,%d,%d,%d,%d\n",W,Q,B,S,G);

                 printf("反向输出为:\n");

                 printf("%d%d%d%d%d",G,S,B,Q,W);

                 break;

                 case 4:

                 printf("分别输出的每一位数字为:\n");

                 printf("%d,%d,%d,%d\n",Q,B,S,G);

                 printf("反向输出为:\n");

                 printf("%d%d%d%d",G,S,B,Q);

                 break;

                 case 3:

                 printf("分别输出的每一位数字为:\n");

                 printf("%d,%d,%d\n",B,S,G);

                 printf("反向输出为:\n");

                 printf("%d%d%d",G,S,B); 

                 break; 

                 case 2:

                 printf("分别输出的每一位数字为:\n");

                 printf("%d,%d\n",S,G);

                 printf("反向输出为:\n");

                 printf("%d%d",G,S);

                 break;

                 case 1:

                 printf("分别输出的每一位数字为:\n");

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

                 printf("反向输出为:\n");

                 printf("%d",G);

                 break;

    } 

    getch();

    return 0;

}

 此代码使用DEV-C++ 编译环境

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静守晨昏‍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值