```c
//统计n的个数
//方法:丢弃个位 n/10
int Count(int n)
{
int count = 0;
if (n == 0)
{
return 1;
}
while (n != 0)
{
n /= 10;
count += 1;
}
return count;
}
//逆序输出n
//方法:得到个位上的数并输出,再丢弃个位
//得到个位:%n 丢弃个位:n/10
void Reverser(int n)
{
if (n == 0)
{
printf("0\n");
return;
}
while (n != 0)
{
printf("%d ", n%10);//输出个位
n /= 10;//丢弃个位
}
printf("\n");
}
//顺序输出每一位数字
//方法:得到最高位,丢弃最高位
//得到最高位:n/10^x(x为n的位数) 丢弃最高位:n%10^x
void Prime(int n)
{
if (n == 0)
{
printf("0\n");
return;
}
int x = Count(n);//得到n的位数
int power = pow(10.0, x - 1);
while (n != 0)
{
printf("%d ", n/power);//得到最高位
n %= power;//丢弃最高位
power /= 10;
}
printf("\n");
}
int main()
{
Prime(123456);
Prime(-1234);
Prime(0);
Prime(1);
/*
Reverser(123456);
Reverser(0);
Reverser(1);
Reverser(-123);
*/
/*
printf("%d\n", Count(123456));
printf("%d\n", Count(0));
printf("%d\n", Count(-123));
printf("%d\n", Count(1));
*/
return 0;
}