c语言整数分解-进阶篇
之所以说是进阶篇,我们这里用到一个不同的思路来完成这件事情,在上一篇文章中,我们一直用的方法是首先对数据进行取余,这样我们可以得到数据的最后以为,但是我们的题目确实正序的进行分解,所以就有了先倒过来的方法。但是我们可以从新考虑一下,我们是否可以进行正序的分解,我们先来看下面的代码
1 | int main() |
上面的代码,我们设x的值为13425;定义了一个mask变量为10000;当我们使用x来除mask的值我们就得到了最左面的数字,然后用x来对mask进行取余这样我们就丢掉了最左面的数据,然后mask进行除10,来适合下一次的循环。
通过上面的方法我们可以来进行正序的输出,可是我们还需要解决另外一个问题,现在的x是5位数,所以我们使用的mask的值为10000,当我们输入其他的值显然,这个程序就不适用了,所以我们需要一个循环来计算出mask的值
1 | int main() |
使用上面的程序之后我们就可以让mask变成适合的值,然后我们就实现了正序的进行输出,然后我们可以写出下面的代码
1 | /* |