给一个不多于五个的正整数,要求
1)求出它是几位数
2)分别输出每一位数字
3)按逆序输出各位数字,例如原数321,输出123
#include<stdio.h>
#include<math.h>
int Count(int n)
{
if(n==0)
{
return 1;
}
int i=0;
while(n != 0)
{
n =n/10;
i++;
}
return i;
}
//顺序输出 得到高位,输出,再丢弃高位
void PrintOrder(long long n)
{
int tem =Count(n);
int power=(int)n/pow(10.0,tem-1);//pow为double,float类型
do
{
printf("%d",n/power);
n %= power;
power /= 10;
}while(n != 0);
printf("\n");
}
//逆序输出,得到个位数字,对10取余,丢弃个位数字 非常重要
void PrintReverse(long long n)
{
if(n<0)
{
printf("-");
n=-n;
}
do
{
printf("%d ",n%10);//个位数字
n=n/10;
}while( n != 0);
printf("\n");
}
int main()
{
printf("%d\n",Count(12345));
PrintOrder(12345);
PrintReverse(12345);
return 0;
}