编写程序完成进制转换,要求使用函数,函数功能是:十进制转换为八进制,输入输出均在主函数中完成。
十进制数
125
175
十进制125转化为八进制结果为175
分析一下为什么八进制的175是十进制的125。
1×82+7×81+5×80=125
这就是位权思想。那么怎么将十进制的125转换为八进制呢?
按照上面的操作,肯定是要分离数字的。只不过这里是对8进行求余和整除操作而已。
| 十进制 | 求余操作 | 整除操作 | 求余结果 |
|---|---|---|---|
| 125 | 125%8=5 | 125/8=15 | 5 |
| 15 | 15%8=7 | 15/8=1 | 7 |
| 1 | 1%8=7 | 1/8=0 | 1 |
| 0 | 停止操作 | 停止操作 | 停止操作 |
最后逆序输出结果就行了。
其实本来可以在递归函数里面进行先递归后输出的操作完成逆序输出的,但是题目要求输入和输出都在主函数中进行,那就只能用数组来存放了。
#include
using namespace std;
const int N=10002;
int n,a<