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 }
运行结果: