快捷搜索:  汽车  科技

三位数最难加减法1000道题(反向输出一个三位数)

三位数最难加减法1000道题(反向输出一个三位数)1. 定义一个变量n,存储输入的三位数;解题思路是: 输入只有一个三位数n,输出n反向的结果。比如输入123,反向输出就是321,反向就是从右往左的方向依次输出每一位数。样例输入是: 100,输出001,这个例子告诉我们:只要从右往左的方向输出三位数的每一位数就可以了,不用考虑输出的数是否是一个三位数。就算是以0打头也没有关系。

大家好,我是编程猴,今天我们的练习课,挑战题目:反向输出一个三位数。题目难度:入门级。

我们先打开Openjudge 题库:输入Openjudge 题库的网址:http://noi.openjudge.cn/ ,登陆账号,选择1.3算术表达式与顺序执行,选择第13题。

三位数最难加减法1000道题(反向输出一个三位数)(1)

先来看一下题目的描述:将一个三位数反向输出,描述很简洁。

输入只有一个三位数n,输出n反向的结果。比如输入123,反向输出就是321,反向就是从右往左的方向依次输出每一位数。

三位数最难加减法1000道题(反向输出一个三位数)(2)

样例输入是: 100,输出001,这个例子告诉我们:只要从右往左的方向输出三位数的每一位数就可以了,不用考虑输出的数是否是一个三位数。就算是以0打头也没有关系。

三位数最难加减法1000道题(反向输出一个三位数)(3)

解题思路是:

1. 定义一个变量n,存储输入的三位数;

2. 再定义三个变量a、b和c,分别存储百位、十位和个位上的数。

3. 按照个位、十位和百位的顺序输出。

写程序之前我们先来回顾一下编程中运算符:

三位数最难加减法1000道题(反向输出一个三位数)(4)

除法用/来表示,取的是a除以b的商,

取余数用%来表示,取的是a除以b的余数。

接着来看下,如何计算出一个三位数的个、十、百位呢?

比如我们要分解一个三位数n:

取百位: 用 n/100 即可,比如,123除以100的商是百位上的1

取十位: 用 n/10 即可,比如,123除以10的商是12,再取余10余数是十位上的2。

取个位: 用 n 即可,比如,123除以10的余数个位上的3。

三位数最难加减法1000道题(反向输出一个三位数)(5)

好,如何分解一个三位数,方法我们已经学会了,我们稍微扩展一下:

如果要分解的是一个任意位数的数,比如说一个六位数,那我们如何去分解每一位上的数呢?

通用方法是:用n除以这一位对应的数字,再取余10,就可以得到这一位上的数字了。

比如,对于一个六位数:123456,如果想取取千位上的数字,用这个数除以1000,再取时就可以到千位上的三。

再比如,如果想取万位上的数字,只需要用这个数除以10000,再取余10,就可以取到万位上的2了。

对于最高位和个位可以稍作省略 最高位可以省略,直接除以对应的数字,个位可以省略/1,直接,其余的位数就用通用方法来计算。

我们打开dev-c,把程序框架放上去

1. 用int n a b c;定义4个变量,其中n是用来存储三位数的。

2. 用cin>>n; 读取从键盘输入的三位数。

3. 分别计算百位,十位和个位的数字,存到a、b和c中;

4. 用一个cout<<c<<b<<a; 语句把c、b和a的值输出。

三位数最难加减法1000道题(反向输出一个三位数)(6)

我们编译运行,复制题目中的样例输入,结果是 001,和样例输出是一模一样的。

三位数最难加减法1000道题(反向输出一个三位数)(7)

之后复制程序,提交到题库中,编译语言选择G ,点击提交。结果是Accepted,我们做对了。

三位数最难加减法1000道题(反向输出一个三位数)(8)

大家学会了吗?去练武场发起挑战吧!

如果你编程的时候碰到问题,欢迎评论区提问!编程猴会一一答复的。

好,这期视频就到这里,欢迎点赞分享和提问,我们下期再见!

猜您喜欢: