函数——十进制转八进制
【问题描述】
编写程序完成进制转换,要求使用函数,函数功能是:十进制转换为八进制,输入输出均在主函数中完成。
【输入形式】
十进制数
【输出形式】
八进制数
【样例输入】
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道函数题的证明。
手敲代码不易,麻烦各位看官留下点赞或评论。有什么意见或建议请在评论区留言。
函数——十进制转八进制相关推荐
- python十进制转八进制_Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)...
使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x) Convert an integer num ...
- python十进制转八进制_怎样用python进行二进制,八进制,十进制转换
Python中进行进制的转换可以通过它的内置函数来实现,今天小编我就来分享一下使用Python进行二进制,十进制,八进制的转换经验. 工具/原料 电脑 Python 方法/步骤 1 第一步,打开电脑的 ...
- C++编程积累——C++实现十进制与八进制之间的互相转换
其他转换请参考博文: C++编程积累--C++实现十进制与二进制之间的互相转换 目录 十进制与八进制之间的转换 十进制转换八进制 C++实现十进制转换二进制 八进制转换十进制 C++实现八进制转换十进 ...
- Bailian2734 十进制到八进制【入门】(POJ NOI0113-45)
问题链接:POJ NOI0113-45十进制到八进制 2734:十进制到八进制 总时间限制: 1000ms 内存限制: 65536kB 描述 把一个十进制正整数转化成八进制. 输入 一行,仅含一个十进 ...
- Python编程:实现十进制转八进制的算法及完整源代码
Python编程:实现十进制转八进制的算法及完整源代码 在计算机科学中,我们通常会遇到需要将十进制数转换为其他进制的情况,在此我们以八进制为例,介绍如何使用Python代码实现将十进制数转换为八进制数 ...
- 十进制转八进制 c语言
原理: 首先在栈底放入哨兵,接着用算法求出余数,把余数依次放入栈中, 然后取栈顶元素,并且出栈栈顶元素. //十进制转八进制 #include"stdio.h" #include& ...
- JAVA练习题————进制转换之十进制转八进制
题目:/* 十进制数转八进制数 * 编写函数把一个十进制数输出其对应的八进制数.*/ 思路:利用Integer.toOctalString()进行进制转换 下面是代码编译部分: im ...
- python十进制转八进制_python进制转换(二进制、十进制和十六进制)及注意事项...
使用内置函数实现进制转换实现比较简单,主要用到以下函数: bin().oct().int().hex() 下面分别详解一下各个函数的使用(附实例) 第一部分:其他进制转十进制 1.二进制转十进制 使用 ...
- 0x4DC0 是一个十六进制数,它对应的 Unicode 编码是中国古老的《易经》六十四卦的第一卦,请输出第 51 卦(震卦)对应的 Unicode 编码的二进制、十进制、八进制和十六进制格式。
题目:0x4DC0 是一个十六进制数,它对应的 Unicode 编码是中国古老的<易经>六十四卦的第一卦,请输出第 51 卦(震卦)对应的 Unicode 编码的二进制.十进制.八进制和十 ...
最新文章
- oracle 常用sql
- 1.72java8_JDK 1.7 1.8 新特性
- 合作开发用到的几个 设计模式
- 2.6_Database Interface JDBC及驱动类型
- 【ABAP】根据Tcode查找后台IMG路径
- 开发Windows Mobile和Wince(Windows Embedded CE)的部署项目(Deploy Project)时,如何修改注册表...
- 数据分析与挖掘理论-数据预处理
- C语言实现动态顺序表
- How to remove replication in Syteline
- hprof文件分析工具_应用稳定性优化系列(三),资源泄露问题分析及定位
- SpringBoot 微信H5支付
- 向日葵远程调用Visual studio2019时白屏透明黑屏解决方案
- C++ MFC与三菱PLC通讯
- Unity3D入门(三):游戏场景制作 3D 模型基础
- 别在让你的 await Streaking 了
- php7 error reporting,php中的error_reporting(7)的含义
- 筛选后系列填充_Excel2013里筛选后复制粘贴制作成绩表方法大剖析,3分钟搞定...
- 移动端和前端开发的共性
- 设计模式 模版方法模式 展现程序员的一天
- 安装LoadRunner时提示“此计算机上缺少 vc2005_sp1_with_atl_fix_redist”的解决方法