给一个不多于5位的正整数,要求:
1.求它是几位数;
2.分别输出每一位数字;
3.按逆序输出各位数字,例如原数为321,输出123。
#include<stdio.h>
#include<math.h>
//n是几位数字
int GetFigures(int n)
{
int t = 0;
while(n!=0)
{
n /= 10;
t++;
}
printf("%d\n",t);
return t;
}
//分别输出每一位数字
int PrintOrder(int n)
{
int c = GetFigures(n); //得到n是几位数字
int power=(int)pow(10.0,c-1);//循环输出每位数字
int temp;
while(power != 0)
{
temp = n / power; //得到高位
n %= power; //丢弃高位
power /= 10;
printf("%d",temp);
}
printf("\n");
return temp;
}
//按逆序输出各位数字
int PrintReverse(int n)
{
int tmp;
while(n != 0)
{
tmp = n % 10; //得到个位数字
n /= 10; //丢弃个位
printf("%d",tmp);
}
printf("\n");
return tmp;
}
int main()
{
GetFigures(12345);
PrintOrder(12345)
PrintReverse(12345);
return 0;
}