将非负十进制整数n转换成b进制。(其中b=2~16)

完成实验报告包含以下内容:

一、题目分析

题目:将非负十进制整数n转换成b进制。(其中b=2~16)

分析:

以十进制数n转换为m进制,方法是将n除以m求余,并将每次余数记录下来,倒叙输出。本算法省去了记录部分,直接通过printf控制输出。

二、递归模型(以十进制数转换为三进制、十二进制为例)

三进制:

十二进制:

三、画出递归树或者递归栈的调用过程。

递归树:(以十进制数9转换为三进制数为例)

由上图经后序遍历即可得十进制数9转换为三进制的结果:100

 

四、调试、测试及运行结果

1、调试:(以十进制数13转换为四进制数为例)

2.测试:

数值输入验证:

进制转换选择验证:

五、经验归纳

所遇问题:

1、当进行到(11-16)进制转换时,若继续涉0,1两个出口,会出现以下情况:

即程序自动将10看做一位数,为此,应增加出口,当n=10,输出A,依次往上为B、C、D、E、F。

2、Switch语句无法达到其正确的作用

经检查,发现将getch()函数误写为了getchar();

经验总结:

经过本次作业练习,使我对递归算法的设计应用有了更深层次的理解,同时,也能够熟练地将递归程序转换为非递归程序。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值