c语言练习题—逆序的三位数

一、题目内容: 

程序每次读入一个正三位数,然后输出逆序的数字,注意当输入的数字结尾含有0时,输出不应前导为0。

输入:123    输出:321 

输入:200    输出:2

提示:用%10可以得到个位数,用/100可以得到百位数。

二、算法思路:

首先,计算机其实很笨,它需要你给它下达详细的指令去执行相关的操作,而这个解决问题的具体过程其实就可以叫做算法。首先分析问题。(以下i为输入的正三位数)

要想它逆序,我们得知道每个位上是啥数。

(1)个位与百位

%是取余运算,就可以得到个位数,/在两个操作数都是整数的情况下,它会舍弃余数,这样我们可以得到百位数。

个位:i%10,百位:i/100

(2)十位

这个题的第一个难点其实是如何取中间的数,其实也不太难,在前面我们已经得知了取头和尾的办法,那要是我们把中间的数转化为头和尾呢?也就是降低位数,那不就和前面的办法一样了吗?

为头:i%100/10    

为尾:i/10%10

(3)输出

取数的问题我们解决了,接下来就是要求的输出格式问题了,这里不是单纯的把数提取出来然后逆序就可以的,而是要注意输入数结尾为0的情况,我们要忽略最后逆序出来前面的0,所以就不能直接读取我们取出来的数,而是以

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值