数字处理问题

数字处理问题

1.求它是几位数
2.分别输出每一位数
3.逆序输出各位数字

#include<stdio.h>
#include<stdio.h>

int GetFigures(int n);
//顺序输出每一位数字
void PrintOrder(int n)
{
//先得到n是几位数字
 int c = GetFigures(n);
//计算和除以取余的数字
 int power = pow(10.0,c-1);

 while(n != 0)
 {
  printf("%d\n",n/power);//获得高位数
  n %= power;//n=n%power;丢掉高位数 
  power /= 10;
 }
 printf("\n");
}

//逆序输出
void PrintReverse(int n)
{
 while(n != 0)
 {
  printf("%d\n",n%10);//求出个位数字
  n /= 10;//丢掉个位数字
 }
 printf("\n");
}
//计算n是几位数字
int GetFigures(int n)
{
 int count=0;
 /*if(n == 0)
 {
  return 1;
 }*/
 while(n != 0)
 {
  count++;
  n /= 10;丢掉个位数字
 }
 return count;
}
int main()
{
 PrintOrder(12345);
 PrintReverse(12345);
 printf("%d\n",GetFigures(12345));
 return 0;
}

测试结果如下
数字处理问题