求一个数的位数并顺序和逆序输出

给出一个不多于5位的正整数(1)求出它是几位数    (2)分别输出每一位数字   (3)逆序输出各位数字。

 

分析:对于(1),设置一个计数器,每次除以10取商,即可丢掉个位数,次数++,直到这个数为0停止。

          对于(2),在(1)的基础上,在每次丢掉各位数时并打印出来。

         对于(3),先对10取余,输出余数,再对10取商,直到商为0停止。

 

问题(1):

#include 

int Count(int n)
{
 int i=0;

 do
  {
    i++;
    n/=10;
  }while(n!=0);
  
 return i;

}

int main()
{
 
  printf("%d\n",Count(123));
  printf("%d\n",Count(0));
  
}

问题(2):

#include 

int  Fun(int n)
{
int i=0;
  
  do
  {
    i++;
    n/=10;
  }while(n!=0);

  return i;
}

void Input(int n)
{
   int c=Fun(n);
   int p=1;
   int t;
   
   for(int i=0;i

问题(3):

#include 
void Reverse(int n)
{

   do
   {
     printf("%d ",n%10);
     n/=10;
   }while(n!=0);
   printf("\n");

}

int main()
{ 
  Reverse(123);
  Reverse(0);  
}

      

你可能感兴趣的:(求一个数的位数并顺序和逆序输出)