使用基本运算符取余数
假设输入一个整数a=123456,逆序输出是654321;首先,很容易想到用循环来实现。从最后一位开始,一次向左输出一位。所以问题是如何让他每次向左输出一位?是的,我们用10进行整数的余数,因为我们用的整数都是十进制的,所以用10进行余数后,会剩下一位。用123456进行余数运算的第一个结果是6,那么下一个循环呢?如何让123456变成12345?对,就是这个想法。我们直接把123456除以10得到12345.6,这是一个浮点数。我们做什么呢
还记得int的隐式转换吗?2345.6转换成int后,小数点后的那个会丢失,只保留整数。好了,就用这个功能实现吧。
以上方法是最基本的方法,很多初学者应该都接触过。下面的方法是将整数转换成字符串进行处理,并使用一些字符串处理函数。这可能比之前的方法更有学问。
1。第一个使用的是反向迭代器
当我们想到逆序的时候,自然会想到stack的数据结构,先进后出。所以,这个问题虽然没有用到stack这么复杂的技术,但是一个思路。认识一个问题有很多方法。寻求最简单快捷的方法,不正是算法开发的魅力所在吗?
这种方法的思路是将整数转换成字符数组,然后将数组一个一个的叠加,最后一个一个的叠加,从而实现逆序输出。
对于一个简单的算法问题,我已经给出了上面的解决方法,但是实用、简单、高效肯定是第一位的。为什么忍不住写后面的方法?其实在我们日常的开发工作中,要实现一个业务需求,不仅要想办法实现,还要想尽可能多的办法,然后用最好的办法解决。
最后,如果你想学习C/C,可以私信边肖“01”获取资料,开发工具,获取讲座!
欢迎分享,转载请注明来源:聚客百科
评论列表(0条)