① 前言
相信很多小伙伴在初学时都对整数的拆分打印抱有疑惑,那么今天,就让小编来谈谈自己对这个代码的理解,还希望能够起到抛砖引玉的效果~
② 预备知识
所谓的预备知识,就是要对 C 中的 % 和 / 这两个操作符有一定的了解,当然这两个操作符很简单其实,对于 / 这个操作符,其含义就是我们平常的除号,例如 x/y 就表示x除以y 只不过与我们平时计算不太相同的是,这里的 / 当其左右两个操作数都为整数时,其执行的是整数除法. 要想其执行小数除法,必须确保至少其中一个操作数为浮点数(也就是小数). 请看下面一段代码:
从这里便可以看出,x/y 实质上得到的结果是x和y 的整数商,而要想让x/y 的结果变成小数,则需要把x和y至少一方改成浮点数类型.看下面一段代码:
如此甚好~
第二个就是 % 了,这个非常简单,就是取出两数相除后的余数.譬如: 3%2==1,因为3除以2的余数为1
③ 正式开始
有了前面的解说,接下来,咱们的重头戏就开始了~
正所谓光说不练假把式,咱们一起来看看这个代码吧!
首先观察输入输出,你会发现 其实这个题目是不是让我们把某个数的每一位都拆下来,然后分别打印啊?
那么顺着这个思路,我们先不管三七二十一,是不是得先把4 给输出来啊? 那么我们就要想办法把4给得到,怎么得到呢?
这里就要用到 % 这个操作符了,你想哈, 1234%10==4,对不?
那么接下来只要用printf把这个4输出就行了.
那3怎么得到呢,通过上面的讲解你会发现,例如:
521%10==1
589%10==9
.......
我嘞个豆,原来一个整数%10 就可以得到它的个位呀!
那么要得到3,我们就要先让3变成1234的个位,然后再%10 不就行啦!
这时候问题来了,怎样让3变成1234的个位呢?
这里就要用到 / 这个操作符了!
你想,1234/10==123 呀! 这惊人的发现! 我嘞个* !
所以要想从低位到高位打印1234 只需要循环上述两个步骤就行啦!
第一步:用%得到个位,打印
第二步:用/ 让数字卸掉之前的个位,从而产生一个新的 以当初数字的十位为个位的数字.
第三步:用循环重复前两步.
下面我们用代码对这个逻辑进行实现~
通过上面的分析,各位是否看懂了呢? 那么接下来我们进入总结的环节
④总结
对于一个非零的整数n来说:
1. n%10 代表n的个位
2. n/10 代表n卸掉个位产生的新数.
好啦~,这一篇就到这里,我们下一篇再见!