给一个不多于五位数的正整数
1.求出它是几位数
方法:丢弃个位
int GetFigures(int a)
{
int tmp=0;
if(a==0)
return 1;
while(a!=0)
{
a/=10;
tmp++;
}return tmp;
}
int main()
{ printf("%d\n",GetFigures(0));
printf("%d\n",GetFigures(1));
printf("%d\n",GetFigures(100000));
printf("%d\n",GetFigures(123456));
return 0;
}
2.分别输出每一位数字
#include<stdio.h>
#include<math.h>
int GetFigures(int a)
{
int tmp=0;
if(a==0)
return 1;
while(a!=0)
{
a/=10;
tmp++;
}return tmp;
}
void printOrder(int a)
{ int b;
int count=GetFigures(a);
int power=pow(10.0,count-1);
while(a!=0)
{
b=a/power;//获得最高位
printf("%d ",b);
a%=power;
power/=10;
}printf("\n");
}
3.逆向输出每一位数字
void PrintReverse(int a)
{ if(a==0)
printf("%d",a);
while(a!=0)
{
printf("%d ",a%10);
a/=10;
}printf("\n");
}