逆序输出一个数&统计n的个数&顺序输出每一位数字


```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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Serendipity---小ma

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值