给出一个不多于5位的正整数,要求:
1.求出它是几位数;
2.分别输出每一位数字;
3.按逆序输出各位数字。
1,
int GetFigures (int n)
{
int count = 0;
do
{
n /= 10;
count++;
} while(n!=0);
return count;
}
2.
void PrintOrder(int n)
{
unsigned char figures = GetFigures(n); /* 获取n的位数 */
int power = (int)pow((float)10,(float)figures-1); /* 获取n最高位数字需要除模的数字 */
int temp;
if (0 == figures) /* n为0 */
{
printf("0\n");
}
if (n < 0) /* n小于0先打印“-”再处理数值 */
{
n = -n;
printf("-");
}
while(power != 0)
{
temp = n / power;
n %= power;
power /= 10;
printf("%d",temp);
}
printf("\n");
}
3.
void PrintReverse (int n)
{
do
{
printf("%d",n%10);//得到个位
n /= 10;//舍弃个位
} while(n!=0);
printf("\n")
}