0004 求数字位数及逆序输出

问题描述:

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

    (1)求出它是几位数;

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

    (3)按逆序输出每一位数字。

  例如:原数321.输出为123

 

代码展示:

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main(){
 4     
 5     int a,b,result=0;        //a用于输入,b用于运算,result用于存放逆序结果 
 6     int len=0;                //表示数字的位数 
 7     int c[5]={0};            //存放数字中的每一位 
 8     int i;
 9     printf("请输入不多于5位的正整数:"); 
10     scanf("%d",&a);
11     b = a;
12     for(len=0; b!=0; b=b/10){
13         c[len] = b%10;
14         len++;
15     }
16     printf("输入的数为:%d\n",a);
17     printf("输入的数字是%d位数\n",len);
18     printf("每一位数字为:\n");    
19     for(i=0;i<len;i++){
20         printf("%d\n",c[i]);
21         result = result*10+c[i];
22     } 
23     printf("逆序输出为:%d\n",result); 
24     return 0;
25 } 

运行结果:

 

posted @ 2021-10-15 16:56  空梦。  阅读(210)  评论(0)    收藏  举报