0
已采纳
陈曦
资深天翼
资深天翼
循环取位数课后讲义(v2)
循环取位数
引言
我们知道对于一个正整数n,n%10可以求出n的个位数。
但如果想要求n的十位数,百位数,千位数,…… 该怎么办?
一、 提取个位数
对于一个n而言,模10可以用来提取个位数
1) 123/10=12…3 得到的余数是3
2) 这个余数即是个位数。
二、 三位数提取各个位数
1) 提取个位 a%10
2) 提取十位 a/10%10
3) 提取百位 a/100
三、 任意位提取各位数
原理:
就是把数字变到个位上再进行求余。
1) 即提取个位就除以1,提取十位就除以10,提取百位就除以100,提取千位就除以1000…
2) 然后求余10
四、 循环提取正整数n的每一位
原理:每次都提取n的最后一位(n%10),然后将n的最后一位除掉(n/=10),重复这个过程,就能把n的每一位都取出来。
代码实现:
int n,a[100],cnt=0; cin>>n; while(n){ a[++cnt]=n%10; n/=10; } //a数组存储了n中从低位到高位的每一位数字 ``
五、 本节知识点脉络
0