ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-11-23 17:57:59  阅读:104  来源: 互联网

标签:输出 进制 递归 递归函数 整数 C语言 新手 除法 十进制


第一次写博客,记录一下在作业中遇到的困难和心得,不足之处望各路大佬指正。在完成时参考过别人的代码最后再融合了下自己写的整理而成。(新手小白学习中……)
以下程序采用短除法实现递归调用。
首先,分析问题:递归函数的输入应该有要输入的整数以及要转化的n进制数,其次分析函数的内部结构,当函数调用到最后一层时,即短除法到最后一步时应该有一个if判断条件是否已除到小于n(n进制)否则继续递归。
下面是相关代码:
在这里插入图片描述
下面是测试结果:
在这里插入图片描述
在这里插入图片描述
感觉新手应该注意的点
1,用来记录下一次递归的的整数(即除过一次的)不需要再次定义新变量,参考以上代码,直接将m/n的值重新赋值给m即可,用m作为要递归的下一个整数变量(本人踩过的坑 ,可能大家不会哈,作为新手的我值得提一提)
2,也是本人踩过的一个坑,看下面
错误的示范
这个else语句,应该将printf排除在外,否则,最后输出时,会输出上上一次递归调用的x的值,依次下去中间会少输出一个n进制的值。
在程序设计最初时的思路和总结
最开始学完递归看过了书上的案例感觉懂了,但其实在真正开始写的时候才意识到

标签:输出,进制,递归,递归函数,整数,C语言,新手,除法,十进制
来源: https://blog.csdn.net/m0_56238419/article/details/121497531

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有