给出一个n位的整数,要求
(1)求出它是几位数字
(2)按顺序输出每一位数字
(3)按逆序输出每一位数字
#include"stdio.h"
#include"math.h"
unsigned char GetFigures(int n)//判断一个整数是几位数
{
unsigned char figures=0;
while(n!=0)
{
n/=10;
figures++;
}
return figures;
}
void PrintOrder(int n)//顺序输出每一位 数字
{
unsigned char figures=GetFigures(n);
int power=(int)pow((float)10,(float)figures-1);//获取n最高位数字需要除模的数字
int temp;
if(0==figures)
{
printf("0");
}
if(n<0)
{
n=-n;
printf("-");
}
while(power!=0)
{
temp=n/power;
n%=power;
power/=10;
printf("%d ",temp);
}
printf("\n");
}
void PrintReverse(int n)//逆序输出每一位数字
{
int temp;
if(0==n)
{
printf("0");
}
if(n<0)
{
n=-n;
printf("-");
}
while(n!=0)
{
temp=n%10;
n/=10;
printf("%d ",temp);
}
printf("\n");
}
int main()
{
printf("%d\n",GetFigures(0));
printf("%d\n",GetFigures(123));
printf("%d\n",GetFigures(-123));
printf("\n");
PrintOrder(0);
PrintOrder(123);
PrintOrder(-123);
printf("\n");
PrintReverse(0);
PrintReverse(123);
PrintReverse(-123);
}