问题标题: 酷町堂:循环取位数是什么? 急!!!

2
1
已解决
陈曦
陈曦
资深天翼
资深天翼

请说明一下“循环取位数”是什么?以及“循环取位数”的知识点(笔记也行)。

到 4月5日 下午3点,我会采纳最详细的那一个。

陈曦在2020-04-02 21:01:35追加了内容

以及“循环取位数”的 方法 

陈曦在2020-04-02 21:53:14追加了内容

@朱子尘 预习

陈曦在2020-04-03 18:45:21追加了内容

注意!如果有人蹭贴,我是会举报的!!!

陈曦在2020-04-04 17:57:46追加了内容

顶一下


3
3
李泽远
李泽远
高级天翼
高级天翼

定义:将一个正整数的每一位取出来。

方法:

	while(x){
		这时x%10便是x中的一位
		x等于x除以10
	}

应用:判断回文数等。

判断x是否是回文数代码:
    b=x;a=0;//用b保存x,避免x的值发生变化,不然后面就无法比较a是否等于x了
	while(b){//b大于0
		a=a*10+b%10;//b%10就是这一位的数,a的目的是为了倒着保存x
		b/=10;//每一次丢掉最后一位
	}
	如果a等于x,则x是回文数。

 

李泽远在2020-04-02 21:03:27追加了内容

我写问答竟然这么认真,哈哈哈。

2
黄钰杰
黄钰杰
初级守护
初级守护

就是一个数/10为一次位,while循环一直/到n=0是。当然,每/一次都要用sum++记位数,

2
侯平仄
侯平仄
新手天翼
新手天翼

循环取位数、常见应用题课堂讲义(火箭v1)

一、 提取个位数

对于一个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

2
朱优扬
朱优扬
中级天翼
中级天翼

就是:一个数/10=个位数

2
李明翰
李明翰
新手光能
新手光能

用while循环每次%10反向将每一位取出来(我的头像是半透明的)

1
1
曹博扬
曹博扬
初级天翼
初级天翼

如:

12345的话就要

a=12345/10000==1

b=(12345-a*10000)/1000

   .

   .

   .

最后a+b+c+……+?

 

 

1
曹博扬
曹博扬
初级天翼
初级天翼

如:

12345的话就要

a=12345/10000==1

b=(12345-a*10000)/1000

   .

   .

   .

最后a+b+c+……+?

 

 

曹博扬在2020-04-04 13:56:04追加了内容

不好意思

网卡

多点了几次

1
邹昊轩
邹昊轩
资深光能
资深光能

个位:x%10
百位:x/100
十位:x/10%10 

这是第一种取位数的方法!

第二种自己想,我以后再给你说。

1
吴君昊
吴君昊
新手光能
新手光能

循环取位数其实很简单,整体思路大概是这样:

首先定义 一个是要对他进行操作的一个变量n,然后是一个存n每一位的一个变量s。(建议你用long long)

然后输入,进入while循环(while括号里的值根据题目改变),执行以下操作:

假设我要把n拆开,每个数中间隔一个空格输出,举例:n=123456,输出1 2 3 4 5 6

while(n!=0){

s=n%10;//取出从右往左数第一位举例:s=12345%10=5 

n/=10;//剔除右往左数第一位举例:12345/10=1234(n是int类型,虽然12345/10=1234.5,但是int会省略小数)

cout<<s<<" ";//循环输出

}

给你举个题目的例子:

假设,有一个数n,我们要求n每个数位上的数的和,举例n=12345,输出15(1+2+3+4+5)

主要代码(会有标注,你自行体会):

以上就是循环取位数的预习,记得上课认真听哦。

 

 

0
我要回答