【问题描述】

编写程序完成进制转换,要求使用函数,函数功能是:十进制转换为八进制,输入输出均在主函数中完成。

【输入形式】

十进制数

【输出形式】

八进制数

【样例输入】

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<iostream>
using namespace std;
const int N=10002;
int n,a[N],num;
void change(int k)
{if(k==0) return;change(k/8);a[++num]=k%8;
}
int main()
{cin>>n;change(n);for(int i=1;i<=num;i++)cout<<a[i];
}

下面这个是老师的程序:

#include <iostream>
using namespace std;
int zh(int x,int a[]);
int main()
{int x,a[100],i,n;cin>>x;n=zh(x,a);for(i=n-1;i>=0;i--)cout<<a[i];
}
int zh(int x,int a[])
{int i=0;while(x>0){a[i]=x%8;x/=8;i++;}return i;
}

【思考题】
怎么将一个k进制的数转换成一个p进制的数?
如16进制的32是10进制的20。(注意十六进制有字母)
输入样例:
32 16
10
输出样例:
20

欢迎把代码留在评论区!

后记

写这么多题目了,有没有发现问来问去就是几个考点?万变不离其宗,考来考去就这些知识点。真的挺无聊的。
曾经三个小时写不完四道题目,现在本蒟蒻在写这十三道函数题用了一小时的时间。也不是说我有多厉害,而是这些题目就只是换一个问法,题目背景几乎都没有怎么变。

下面这两张图片是一小时写完这13道函数题的证明。


手敲代码不易,麻烦各位看官留下点赞或评论。有什么意见或建议请在评论区留言。

函数——十进制转八进制相关推荐

  1. python十进制转八进制_Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)...

    使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x) Convert an integer num ...

  2. python十进制转八进制_怎样用python进行二进制,八进制,十进制转换

    Python中进行进制的转换可以通过它的内置函数来实现,今天小编我就来分享一下使用Python进行二进制,十进制,八进制的转换经验. 工具/原料 电脑 Python 方法/步骤 1 第一步,打开电脑的 ...

  3. C++编程积累——C++实现十进制与八进制之间的互相转换

    其他转换请参考博文: C++编程积累--C++实现十进制与二进制之间的互相转换 目录 十进制与八进制之间的转换 十进制转换八进制 C++实现十进制转换二进制 八进制转换十进制 C++实现八进制转换十进 ...

  4. Bailian2734 十进制到八进制【入门】(POJ NOI0113-45)

    问题链接:POJ NOI0113-45十进制到八进制 2734:十进制到八进制 总时间限制: 1000ms 内存限制: 65536kB 描述 把一个十进制正整数转化成八进制. 输入 一行,仅含一个十进 ...

  5. Python编程:实现十进制转八进制的算法及完整源代码

    Python编程:实现十进制转八进制的算法及完整源代码 在计算机科学中,我们通常会遇到需要将十进制数转换为其他进制的情况,在此我们以八进制为例,介绍如何使用Python代码实现将十进制数转换为八进制数 ...

  6. 十进制转八进制 c语言

    原理: 首先在栈底放入哨兵,接着用算法求出余数,把余数依次放入栈中, 然后取栈顶元素,并且出栈栈顶元素. //十进制转八进制 #include"stdio.h" #include& ...

  7. JAVA练习题————进制转换之十进制转八进制

    题目:/* 十进制数转八进制数          * 编写函数把一个十进制数输出其对应的八进制数.*/ 思路:利用Integer.toOctalString()进行进制转换 下面是代码编译部分: im ...

  8. python十进制转八进制_python进制转换(二进制、十进制和十六进制)及注意事项...

    使用内置函数实现进制转换实现比较简单,主要用到以下函数: bin().oct().int().hex() 下面分别详解一下各个函数的使用(附实例) 第一部分:其他进制转十进制 1.二进制转十进制 使用 ...

  9. 0x4DC0 是一个十六进制数,它对应的 Unicode 编码是中国古老的《易经》六十四卦的第一卦,请输出第 51 卦(震卦)对应的 Unicode 编码的二进制、十进制、八进制和十六进制格式。

    题目:0x4DC0 是一个十六进制数,它对应的 Unicode 编码是中国古老的<易经>六十四卦的第一卦,请输出第 51 卦(震卦)对应的 Unicode 编码的二进制.十进制.八进制和十 ...

最新文章

  1. Source Insight中的多行注释
  2. 找出素数并升序排列c语言,习题:随机产生N个四位正整数,将其中的素数选出,并升序排列之输…...
  3. 最大子序列求和_算法——求最大子段和
  4. 五大板块(5)——字符串
  5. delhpi7 tcombobox清楚重复项_专利数据统计中需要搞清楚的首要问题(2)
  6. CS231n Convolutional Neural Networks for Visual Recognition------Numpy Tutorial
  7. 我的Linux内核学习笔记
  8. c 开发服务器的性能,高性能网络编程(三):下一个10年,是时候考虑C10M并发问题了...
  9. simulink接收串口数据_JLink RTT连接Simulink
  10. Centos memcached的php拓展 管理界面
  11. 现金支票打印模板excel_市政工程表格不会填?市政工程1000个表格模板,一键即可套用...
  12. 数据挖掘第三版课后习题
  13. sql注入之——sql注入防御方法
  14. 洛谷P4234 最小差值生成树
  15. 网页外挂技术浅谈(入门篇)
  16. python帝国cms_用python 发 帝国cms 文章
  17. 电脑主机电源与主板线的接法图解,小白与傻白甜必备
  18. 从被遗忘到牛市龙头,一文梳理ETH 2020爆发逻辑
  19. python vbs_vbs和python
  20. 4399游戏测试实习生面试

热门文章

  1. 2023java毕设推荐 中药店商城系统(含源码+论文)
  2. 批量的声明凯立德的点坐标
  3. Linux学习笔记之Vim总结
  4. 数据库课程表东南大学
  5. PhotoShop选区
  6. 公鸡、母鸡和雏鸡之间的运算
  7. 图说c语言,图说C语言重定向.doc
  8. mac爱奇艺下载的视频在哪里
  9. 模拟——卡布列克圆舞曲
  10. 淘宝退货业务 活动图