c语言数组逆序输出数字,给数组元素赋值并按逆序输出

聚客2022-06-01  40

如何给数组赋值(c语言逆序输出数字123)

逆序输出整数是很多朋友在编程入门时都会遇到的练习,那么如何才能实现呢?其实简单说如何实现代码很简单,但是开发者不要只关注代码实现,也不要忽略解题思路和算法设计思路。在这里,我用我的知识分享一下这个问题的一些实现方法。

使用基本运算符取余数

假设输入一个整数a=123456,逆序输出是654321;首先,很容易想到用循环来实现。从最后一位开始,一次向左输出一位。所以问题是如何让他每次向左输出一位?是的,我们用10进行整数的余数,因为我们用的整数都是十进制的,所以用10进行余数后,会剩下一位。用123456进行余数运算的第一个结果是6,那么下一个循环呢?如何让123456变成12345?对,就是这个想法。我们直接把123456除以10得到12345.6,这是一个浮点数。我们做什么呢

还记得int的隐式转换吗?2345.6转换成int后,小数点后的那个会丢失,只保留整数。好了,就用这个功能实现吧。

转换为字符处理

以上方法是最基本的方法,很多初学者应该都接触过。下面的方法是将整数转换成字符串进行处理,并使用一些字符串处理函数。这可能比之前的方法更有学问。

1。第一个使用的是反向迭代器

2。第二种是字符串截取,从最后一位开始,向前截取

3。将整数转换成字符数组,并从后向前重用它们

由字符数组和堆栈实现

当我们想到逆序的时候,自然会想到stack的数据结构,先进后出。所以,这个问题虽然没有用到stack这么复杂的技术,但是一个思路。认识一个问题有很多方法。寻求最简单快捷的方法,不正是算法开发的魅力所在吗?

这种方法的思路是将整数转换成字符数组,然后将数组一个一个的叠加,最后一个一个的叠加,从而实现逆序输出。

摘要

对于一个简单的算法问题,我已经给出了上面的解决方法,但是实用、简单、高效肯定是第一位的。为什么忍不住写后面的方法?其实在我们日常的开发工作中,要实现一个业务需求,不仅要想办法实现,还要想尽可能多的办法,然后用最好的办法解决。

最后,如果你想学习C/C,可以私信边肖“01”获取资料,开发工具,获取讲座!

转载请注明原文地址:https://juke.outofmemory.cn/read/223315.html

最新回复(0)