C 实战练习题目29

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

程序分析:学会分解出每一位数,如下解释。

实例:

 1 #include <stdio.h>
 2  
 3 int main( )
 4 {
 5     long a,b,c,d,e,x;
 6     printf("请输入 5 位数字:");
 7     scanf("%ld",&x);
 8     a=x/10000;        /*分解出万位*/
 9     b=x%10000/1000;   /*分解出千位*/
10     c=x%1000/100;     /*分解出百位*/
11     d=x%100/10;       /*分解出十位*/
12     e=x%10;           /*分解出个位*/
13     if (a!=0){
14         printf("为 5 位数,逆序为: %ld %ld %ld %ld %ld
",e,d,c,b,a);
15     } else if(b!=0) {
16          printf("为 4 位数,逆序为: %ld %ld %ld %ld
",e,d,c,b);
17     } else if(c!=0) {
18          printf("为 3 位数,逆序为:%ld %ld %ld
",e,d,c);
19     } else if(d!=0) {
20          printf("为 2 位数,逆序为: %ld %ld
",e,d);
21     } else if(e!=0) {
22          printf("为 1 位数,逆序为:%ld
",e);
23     }
24 }

以上实例输出结果为:

请输入 5 位数字:123455 位数,逆序为: 5 4 3 2 1

感谢你的阅读,请用心感悟!希望可以帮到爱学习的你!!分享也是一种快乐!!!请接力。。。

点击查看原文,谢谢!

原文地址:https://www.cnblogs.com/kangyifan/p/13032045.html