原题链接:数据结构-八进制数
解题思路:栈的运用,按照题目要求的写
栈的功能是先进后出
构建一个栈,注意需要头文件<stack>
s.push是栈的输入
s.top和pop的配合使用是对存到栈里面的东西进行输出
string的作用是对8取余时得到的数,在这里可能看的没什么用,不过当做的是16进制的时候,就显得尤为重要了
注意事项:
题目给的是对多个数进行进制的转化工作,所以要配上循环,要注意格式问题
参考代码:
#include <iostream> #include<stack> using namespace std; int main(int argc, char *argv[]) { int n; stack<char>s; string st="01234567"; for(;cin>>n;){ while(n) { s.push(st[n%8]); n=n/8; } while(!s.empty()) { char y=s.top(); s.pop(); cout<<y; } cout<<"\n"; } cout<<endl; return 0; }
给你们看看十进制转化成十六进制的代码,对一个数据进行转化
进行对比学习
这里还有十六进制转化成十进制的(写的不好,不过也可以看看)
然后就是耍赖一点的进制转化的方法了(不过很实用)这里用的是c和c++自带的自带的闭包,单个数据的操作
我觉得吧,这种包的使用是很有必要的,可以提高很高的效率,不用白不用,咳咳
接下来是C++中的进制的转化,多组数据的操作
就这么多,记得点赞哈,谢谢
0.0分
5 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复