c语言找到离一个数最近的回文数

用c语言实现任意输入一个数,找出最小的回文数。

  1. 什么是回文数:回文数就是一个三位数的百位数与个位数相等,比如121,131,575等。
  1. 代码讲解:

(1)、思路讲解:因为回文数有无数多个,主要包括大于a和小于a两大类,所以用两个循环找出离a最近的两个回文数,比较其与a的差值大小就可以得出离a最近的回文数。

(2)、代码实现

(i)先定义一个变量,用以装载要求的数(这里是a),再另外定义两个变量作为两个循环的初始值(这里是x,y)。(如果没有定义那两个变量,直接从a开始循环的话,那么到了第二个循环时,第一次循环后的a直接就是答案,比如a=234,第一次循环后a就会是242,就是下一个的答案。)

(ii)然后编写第一个循环,用while语句,因为输入的是三位数,所以a一定大于100.a从输入的那位数开始就判断它的百位数是否与个位数相等,如果相等,则输出这个数并且跳出循环。如果不相等,就把这个数减一再判断。(x/100是x除以100取商;x%10是x除以10 取余数)

(iii) 找比这个数大的回文数方法与第二部相同,只是x要改为y,这样才能确保这个数从a开始,而不是从上一个回文数开始。后面也改为y++即可。

(iiii) 最后判断两个回文数哪个离a最近,输出即可。

(3)代码如下:
(4)执行结果如下:

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值