常见的数字处理

题目:给一个不多于5位的正整数,要求:
  1. 求出它是几位数;
  2. 分别输出每一位数字;
  3. 按逆序输出各位数字,例如原数为321,应输出123.
思路 :丢个位,保存运算次数
代码 :
int  Di (int n)
{
int x =0;
while(n!=0)
{
x ++;
n/=10;
}
return x;
}
逆序输出每一位数字
思路 : 得个位,依次打印
代码 :
int In(int num)//逆序输出每位数字
{
 while(num)
 {
  printf("%d",num%10);
  num/=10;
 }
 return 0;
}
顺序输出每一位数字
思路 :得最高位,丢最高位
代码 :
int Out(int num)
{
 if(num>9)
 {
  Out(num/10);
 }
 printf("%d  ",num%10);
 return 0;
}
完整代码如下:
#include <stdio.h>
#include <math.h>
int Di(int n)
{
 int x=0;
 while (n!=0)
 {
  n=n/10;
  x++;
 }
 return x;
}
int Out(int num)
{
 if(num>9)
 {
  Out(num/10);
 }
 printf("%d  ",num%10);
 return 0;
}
int In(int num)
{
 while(num)
 {
  printf("%d",num%10);
  num/=10;
 }
 return 0;
}
int main()
{
 printf("%d\n",Di(1234));
 Out(1234);
 printf("\n");
 In(1234);
 printf("\n");
 return 0;
}


猜你喜欢

转载自blog.csdn.net/Ambition_HAO/article/details/79761070