问题标题: 酷町堂:求循环取位数讲义

1
1

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中从低位到高位的每一位数字 ``

五、 本节知识点脉络

image.png

0
我要回答