栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言:输入一个十进制整数用递归函数转化为n进制数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言:输入一个十进制整数用递归函数转化为n进制数

第一次写博客,记录一下在作业中遇到的困难和心得,不足之处望各路大佬指正。在完成时参考过别人的代码最后再融合了下自己写的整理而成。(新手小白学习中……)
以下程序采用短除法实现递归调用。
首先,分析问题:递归函数的输入应该有要输入的整数以及要转化的n进制数,其次分析函数的内部结构,当函数调用到最后一层时,即短除法到最后一步时应该有一个if判断条件是否已除到小于n(n进制)否则继续递归。
下面是相关代码:

下面是测试结果:


感觉新手应该注意的点
1,用来记录下一次递归的的整数(即除过一次的)不需要再次定义新变量,参考以上代码,直接将m/n的值重新赋值给m即可,用m作为要递归的下一个整数变量(本人踩过的坑 ,可能大家不会哈,作为新手的我值得提一提)
2,也是本人踩过的一个坑,看下面

这个else语句,应该将printf排除在外,否则,最后输出时,会输出上上一次递归调用的x的值,依次下去中间会少输出一个n进制的值。
在程序设计最初时的思路和总结
最开始学完递归看过了书上的案例感觉懂了,但其实在真正开始写的时候才意识到自己还是太菜了,对递归的理解还不到位。最初时还想过这个短除法得逆序输出,是不是得要定义一个数组来存放每次运算完的余数。最后呢实践证明: true wisdom comes from practice. 动手实践使人进步。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/589247.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号