C语言经典例题100例——C语言练习实例29解答(逆序输出5位数字)

作者(出处):百宝箱工作室发布时间:2017年7月28日 09:31:36查阅量:165

题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

程序分析:学会分解出每一位数,看代码中的解释。

程序源代码:

// 百宝箱工作室  官方网址 http://www.baibaox.com
// 百宝箱工作室业务介绍 http://www.baibaox.com/BusinessIntroduction.html

main( )
{
    long a,b,c,d,e,x;
    printf("请输入1个数字(1位数、或2位数、或3位数、或4位数、或5位数):");
    scanf("%ld",&x);
    a=x/10000;        //分解出万位
    b=x%10000/1000;   //分解出千位
    c=x%1000/100;     //分解出百位
    d=x%100/10;       //分解出十位
    e=x%10;           //分解出个位
    if (a!=0){
        printf("为 5 位数,逆序为: %ld %ld %ld %ld %ld\n",e,d,c,b,a);
    } else if(b!=0) {
         printf("为 4 位数,逆序为: %ld %ld %ld %ld\n",e,d,c,b);
    } else if(c!=0) {
         printf("为 3 位数,逆序为:%ld %ld %ld\n",e,d,c);
    } else if(d!=0) {
         printf("为 2 位数,逆序为: %ld %ld\n",e,d);
    } else if(e!=0) {
         printf("为 1 位数,逆序为:%ld\n",e);
    }
}

以上实例运行结果如下:

请输入1个数字(1位数、或2位数、或3位数、或4位数、或5位数):45862
为 5 位数,逆序为: 2 6 8 5 4
百宝箱网络工作室  版权所有  
站长QQ:1617818397  站长E-mail:1617818397@qq.com
Powered by www.baibaox.com  Copyright © 2011-2017
点击这里给我发消息