900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > c语言中如何实现输入一个整数实现倒序输出 – PHP基础 – 前端 自定义数组排序 php

c语言中如何实现输入一个整数实现倒序输出 – PHP基础 – 前端 自定义数组排序 php

时间:2022-08-04 22:51:26

相关推荐

c语言中如何实现输入一个整数实现倒序输出 – PHP基础 – 前端 自定义数组排序 php

倒序输出一个整数是很多朋友编程入门都会遇到的练习题,那么大家该如何去实现它呢?其实单纯说代码怎么实现是很简单的,但是开发者不应该只注重代码实现而不去管解题思路和算法设计思想,这里,偶就偶所学知识分享一下该问题的几个实现方法

利用基本运算符取余

假设输入一个整数a=123456,如果倒序输出就是654321;这里大家首先很容易想到用循环来实现,从最后面一位起,往左每次输出一位,那么问题是怎么去让他往左每次输出一位呢?对,对整数用10取余,因为大家用的整数都是十进制的,所以用10取余后,就会剩下个位,123456第一次取余结果是6,那么下一次循环怎么办呢?怎么让123456变成12345就好了。对,就是这个思路,大家直接对将123456除以10得到12345.6,得到的是浮点数,怎么办呢?

还记得int的隐式转换么?12345.6转换为int后,小数点后面的会丢失,只保留整数。OK,刚好利用这个特性就可以实现了。

转换为字符处理

上面讲的方法是最基本的方法,很多初学者应该都有接触过,下面这个方法就是将整型转换为字符串来处理,利用一些字符串处理函数,这个可能比上一个方法用到的知识更多一些。

第一个用到的是逆序迭代器

第二个用到的是字符串截取,从最后一位开启往前截取

把整数转换为字符数组再利用循环从后往前

通过字符数组和栈实现

一想到逆序大家很自然会想到栈这个先进后出的数据结构,那么这个问题虽然用不到栈这么复杂的技术,但是这也未尝不是一个思路,一个问题多种实现方式,从中寻求最简洁最快速的方法不正是算法开发的魅力么?

该方法的思路是:将整数转换为字符数组然后将数组逐一入栈,最后再逐一出栈,这样就实现了逆序的输出。

总结

一个简单的算法问题,偶给出了上面几个解决方案,但是就实用性、简便性和效率肯定是第一个,为什么又忍不住写后面几种方法呢?其实大家在日常的开发工作中,一个业务需求的实现大家要做的不仅仅只想办法去实现它,而是尽可能想更多的方法,然后以最优的方法去解决它。

希望偶的回答对您有帮助,谢谢~~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。