ThatEven
2018-10-27 00:07
为什么获取百位上的数字是num/100
为什么获取百十位上的数字是num%100
为什么获取个位上的数字是num%10
又是怎么看出来应该从100循环到1000的
num/100
num 是 int型 所有三位除100,小数点都会舍掉,只留下百位的整数;
例如: 123/100=1.23 小数点后的就被舍掉了;
num%100 :这个表达式是错的,三位数对100取余得到的是十位和个位;
例如 :132%100 得到的余数是 32;可以理解为132/100=1.32。那.32就是余数;
正确的表达式应该是:
num/10%10 : num/10 会得到百位和十位 ,再对10取余可以拿到十位的数字 ;
或者 num%100/10 : num%100可以拿到十位和个位,再除10可以拿到十位的数字;
num%10 :对10进行取余留下的一定是个位
比如 132/10=13.2 这个.2就被余出来了,这个就是取余;
因为水仙花数是三位数,所以知道应该从100循环到1000,或者<=999也可以。
num/100结果为商,故得到百位数,十位同理;num%10求得此式余数,故为个位;水仙花数要求为3位数,故在100到1000之间。
C语言入门
926207 学习 · 20797 问题
相似问题