#include <stdio.h>
//十进制数字n是个几位数字
int GetFigures(int n)
{
int count = 0;
do
{
count++;
n /=10;
}while(n != 0);//n>0
return count;
}
//逆序输出十进制数字n的每一位,比如123->3 2 1
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 a = GetFigures(n);
int power = 1;
for(int i=0;i<a-1;i++)
{
power *= 10;
}
do
{
printf("%d ",n/power);
n %= power;
power /= 10;
}while(n != 0);
printf("\n");
}
int main()
{
printf("%d\n",GetFigures(0));
printf("%d\n",GetFigures(123456789));
printf("%d\n",GetFigures(-123456789));
PrintReverse(0);
PrintReverse(123456789);
PrintReverse(-123456789);
PrintOrder(0);
PrintOrder(123456789);
PrintOrder(-123456789);
return 0;
}
//十进制数字n是个几位数字
int GetFigures(int n)
{
int count = 0;
do
{
count++;
n /=10;
}while(n != 0);//n>0
return count;
}
//逆序输出十进制数字n的每一位,比如123->3 2 1
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 a = GetFigures(n);
int power = 1;
for(int i=0;i<a-1;i++)
{
power *= 10;
}
do
{
printf("%d ",n/power);
n %= power;
power /= 10;
}while(n != 0);
printf("\n");
}
int main()
{
printf("%d\n",GetFigures(0));
printf("%d\n",GetFigures(123456789));
printf("%d\n",GetFigures(-123456789));
PrintReverse(0);
PrintReverse(123456789);
PrintReverse(-123456789);
PrintOrder(0);
PrintOrder(123456789);
PrintOrder(-123456789);
return 0;
}