逆序输出一个整数是很多朋友编程入门都会遇到的练习,那么如何才能实现呢?其实简单说如何实现代码很简单 , 但是开发者不要只关注代码实现,也不要忽略解题思路和算法设计思路 。在这里,我用我的知识分享一下这个问题的一些实现方法 。
使用基本运算符取余数 。
假设输入一个整数a=123456,逆序输出是654321;首先,很容易想到用循环来实现 。从最后一位开始,一次向左输出一位 。所以问题是如何让他每次向左输出一位?是的 , 我们用10进行整数的余数,因为我们用的整数都是小数,所以用10进行余数后,会剩下一位 。用123456进行余数运算的第一个结果是6,那么下一个循环呢?如何让123456变成12345?对 , 就是这个想法 。我们直接把123456除以10得到12345.6,这是一个浮点数 。我们做什么呢
还记得int的隐式转换吗?2345.6转换成int后,小数点后的那个会丢失,只保留整数 。好了,就用这个功能实现吧 。
转换为字符处理
以上方法是最基本的方法,很多初学者应该都接触过 。下面的方法是将整数转换成字符串进行处理,并使用一些字符串处理函数 。这可能比之前的方法更有学问 。
1.第一个是反向迭代器 。
2.第二种是字符串截?。?从最后一位数字开始 , 向前截取 。
3.将整数转换为字符数组,并从后向前重复使用该循环 。
由字符数组和堆栈实现
当我们想到逆序的时候,自然会想到stack的数据结构,先进后出 。所以,这个问题虽然没有用到stack这么复杂的技术,但是一个思路 。认识一个问题有很多方法 。寻求最简单快捷的方法,不正是算法开发的魅力所在吗?
这种方法的思路是将整数转换成字符数组,然后将数组一个一个的叠加 , 最后一个一个的叠加,从而实现逆序输出 。
摘要
对于一个简单的算法问题,我已经给出了上面的解决方法,但是实用、简单、高效肯定是第一位的 。为什么忍不住写后面的方法?其实在我们日常的开发工作中 , 要实现一个业务需求,不仅要想办法实现,还要想尽可能多的办法 , 然后用最好的办法解决 。
【c语言逆序输出数字123 如何给数组赋值】最后,如果想学习C/C,可以私信小编“01”获取资料,开发工具 , 听讲座!
- 魔兽盗贼输出手法 让你输出最大化
- define在c语言中是什么意思 define在c语言中的解释
- 开发语言有哪些 编程语言有几种
- 河北大学汉语言文学怎么样
- 骆驼祥子在语言表达上有什么特色
- 英国说什么语言,英国的官方语言是英语用英语怎么说
- 外国语言文学好就业吗
- 沙龙源于哪国语言 沙龙起源于哪国语言
- 网络语言中什么什么体的体是什么意思 网络语言中什么什么体的体的意思
- 英语考研考哪些科目 汉语言文学考研考哪些科目
