给一个整数,要求:
1.求出它是几位数;
2.分别输出每一位数字;
3.按逆序输出各位数字;
#include<stdio.h>
#include<math.h>
//求是几位数
int GetFigures(int n)
{
if(n == 0)
return 1;
int count = 0;
while(n != 0)
{
count++;
n /= 10;//丢弃个位
}
return count;
}
//逆序打印各位数字
void PrintReverse(int n)
{
if(n < 0)
{
printf("-");
n=-n;
}
do
{
printf("%d ",n%10);//得到个位
n /= 10;//丢弃个位
}
while(n != 0);
printf("\n");
}
//顺序输出每一位数字
void PrintOrder(int n)
{
int count = GetFigures(n);//得到n是几位数字
int power = (int)pow(10.0,count-1);
do
{
printf("%d ",n/power);
n %= power;
power /= 10;
}
while(n != 0);
printf("\n");
}
int main()
{
PrintOrder(123456789);
PrintReverse(123456789);
printf("%d\n",GetFigures(123456789));
return 0;
}