三位数最难加减法1000道题(反向输出一个三位数)
三位数最难加减法1000道题(反向输出一个三位数)1. 定义一个变量n,存储输入的三位数;解题思路是: 输入只有一个三位数n,输出n反向的结果。比如输入123,反向输出就是321,反向就是从右往左的方向依次输出每一位数。样例输入是: 100,输出001,这个例子告诉我们:只要从右往左的方向输出三位数的每一位数就可以了,不用考虑输出的数是否是一个三位数。就算是以0打头也没有关系。
大家好,我是编程猴,今天我们的练习课,挑战题目:反向输出一个三位数。题目难度:入门级。
我们先打开Openjudge 题库:输入Openjudge 题库的网址:http://noi.openjudge.cn/ ,登陆账号,选择1.3算术表达式与顺序执行,选择第13题。
先来看一下题目的描述:将一个三位数反向输出,描述很简洁。
输入只有一个三位数n,输出n反向的结果。比如输入123,反向输出就是321,反向就是从右往左的方向依次输出每一位数。
样例输入是: 100,输出001,这个例子告诉我们:只要从右往左的方向输出三位数的每一位数就可以了,不用考虑输出的数是否是一个三位数。就算是以0打头也没有关系。
解题思路是:
1. 定义一个变量n,存储输入的三位数;
2. 再定义三个变量a、b和c,分别存储百位、十位和个位上的数。
3. 按照个位、十位和百位的顺序输出。
写程序之前我们先来回顾一下编程中运算符:
除法用/来表示,取的是a除以b的商,
取余数用%来表示,取的是a除以b的余数。
接着来看下,如何计算出一个三位数的个、十、百位呢?
比如我们要分解一个三位数n:
取百位: 用 n/100 即可,比如,123除以100的商是百位上的1
取十位: 用 n/10 即可,比如,123除以10的商是12,再取余10余数是十位上的2。
取个位: 用 n 即可,比如,123除以10的余数个位上的3。
好,如何分解一个三位数,方法我们已经学会了,我们稍微扩展一下:
如果要分解的是一个任意位数的数,比如说一个六位数,那我们如何去分解每一位上的数呢?
通用方法是:用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的值输出。
我们编译运行,复制题目中的样例输入,结果是 001,和样例输出是一模一样的。
之后复制程序,提交到题库中,编译语言选择G ,点击提交。结果是Accepted,我们做对了。
大家学会了吗?去练武场发起挑战吧!
如果你编程的时候碰到问题,欢迎评论区提问!编程猴会一一答复的。
好,这期视频就到这里,欢迎点赞分享和提问,我们下期再见!