在老师开设的算法课上,老师要求用三种不同的方法做十进制转换,就用了以下三种,其实不止十进制转换,任何进制之间的转换都适用。
第一种方法:链栈的方式

#include<iostream>
#define MAXSIZE 10000
using namespace std;
typedef struct StackNode{int data;struct StackNode *next;}StackNode,*LinkStack;int InitStack(LinkStack &S)
{
S=NULL;
//return 1;
}int Push(LinkStack &S,int &e)
{
StackNode *p;
p=new StackNode;
p->data=e;
p->next=S;
S=p;
return 1;
}int Pop(LinkStack &S,int &e){StackNode *p;
if(S==NULL){cout<<"此栈已空,无法正常出栈;"; }e=S->data;p=S;S=S->next;delete p;
}int  main()
{int n,e,i,j,q;LinkStack S;InitStack(S);cout<<"请输入想要转换的十进制数:"; cin>>n;while(n!=0){   q=n%8;Push(S,q);i++;n=n/8;}for(j=0;j<i;j++){Pop(S,e);cout<<e;}
}

第二种方式:顺序栈 非指针

#include<iostream>
#define MAXSIZE 10000
using namespace std;
typedef struct{int *data;int top;}SqStack;int InitStack(SqStack &S)
{
S.data=new int[MAXSIZE];
S.top=-1;
}int Push(SqStack &S,int &e)
{
if(S.top==MAXSIZE-1)
{
return 0;
}
S.top++;
S.data[S.top]=e;}int Pop(SqStack &S,int &e){if(S.top==-1){return 0;}e=S.data[S.top];S.top--;}int  main()
{int n,e,i,j,q;SqStack S;InitStack(S);cout<<"请输入想要转换的十进制数:"; cin>>n;while(n!=0){   q=n%8;Push(S,q);i++;n=n/8;}for(j=0;j<i;j++){Pop(S,e);cout<<e;}
}

第三种方法:顺序栈 指针

#include<iostream>
#define MAXSIZE 10000
using namespace std;
typedef struct{int *base;int *top;int stacksize;}SqStack;int InitStack(SqStack &S)
{
S.base=new int[MAXSIZE];
if(!S.base){exit(0);}S.top=S.base;S.stacksize=MAXSIZE;//return 1; }int Push(SqStack &S,int &e)
{
if(S.top-S.base==S.stacksize)
{
return 0;
}
*S.top++=e;
return e;}int Pop(SqStack &S,int &e){if(S.top==S.base){return 0;}e=*--S.top;return e;}int  main()
{int n,e,i,j,q;SqStack S;InitStack(S);cout<<"请输入想要转换的十进制数:"; cin>>n;while(n!=0){   q=n%8;Push(S,q);i++;n=n/8;}for(j=0;j<i;j++){Pop(S,e);cout<<e;}
}

大家一起进步呀~

十进制转换的三种方法,共同进步~相关推荐

  1. C++内码转换的三种方法

    我们平时常见的三种中文内码是:GB2312(简体中文).GBK.BIG5(繁体中文).网上有很多中文内码的专用转换工具.我们碰到由于内码不一致而导致的乱麻问题,用这些工具可以进行相互转换.但论坛里经常 ...

  2. c语言位操作大小写转换,C语言实现大小写转换的三种方法

    今天心血来潮,总结了下大小写转换的方法,大致有三种. 1.使用C语言提供的函数:toupper(),tolower() 使用这两个函数需要引入头文件:#include 示例代码: #include # ...

  3. string和wstring之间转换的三种方法

    方法1 #include <string> #include <locale> #include <codecvt>//convert string to wstr ...

  4. c语言中文如何大小写转换器,C语言实现大小写转换的三种方法

    今天心血来潮,总结了下大小写转换的方法,大致有三种. 1.使用C语言提供的函数:toupper(),tolower() 使用这两个函数需要引入头文件:#include 示例代码: #include # ...

  5. Excel常用技巧—数字和文本转换,三种方法任你选!!

    Excel图表系列: Excel数据分析常用函数①--查询函数 Excel数据分析常用函数②--统计函数 Excel数据分析常用函数③--字符串函数 Excel数据分析常用函数④--日期函数 Exce ...

  6. java浮点数化为整数_[Java教程]javascript浮点数转换成整数三种方法

    [Java教程]javascript浮点数转换成整数三种方法 0 2014-06-24 04:00:27 将浮点数转换成整数方法有很多,分享三种常用方法. Summary 暂时我就想到3个方法而已.如 ...

  7. Java中将对象转换成String的三种方法

    日常开发中经常会有对象转成String类型这种场景,一般有三种方法 1.直接进行类型强转,(String) Object o = "2"; System.out.println(( ...

  8. WPS如何转换成图片?三种方法帮你实现

    WPS如何转换成图片?三种方法帮你轻松实现!在大学中,大家完成老师布置的专业课作业都是通过使用电脑中的WPS制作完成.为了防止自己的作业遭到其他同学的私自窜改或是复制粘贴的抄袭.有的同学就会将自己的作 ...

  9. 图片转PDF格式怎么转换?这三种方法随便用

    图片怎么转换成PDF文件格式呢?大家在日常工作和学习中,也会经常使用到图片,不管是拍照记录还是截图办公,当我们想把这些图片打包发送出去的时候,怎么做才能最简单方便呢?做成文件夹发送还得压缩和解压,比较 ...

  10. mov格式的视频转换mp4,教你三种方法转换

    怎样把mov转换成mp4格式?mp4格式作为常见的视频格式之一,其应用范围非常广泛.同时,mp4格式是各大平台.设备等支持率较高的格式,为视频传播.共享以及交流等提供了重要的途径.mov格式相较于mp ...

最新文章

  1. JS实现select去除option的使用注意事项
  2. linux ranger 文本模式,Ranger – 给命令行用户一个基于文本的文件管理器
  3. android集合优化,android-性能优化之集合类优化
  4. winform php 交互,WinForm开发,窗体显示和窗体传值
  5. 分析方法的基础 — 2.业务与管理的拆分,破解难题的钥匙
  6. 初学python需要安装哪些-致Python初学者 Anaconda入门使用指南完整版
  7. EXTJS 6 新特性(译文)
  8. Xamarin.Android 使用 SQLite 出现 Couldn't read row 0, col -1 from CursorWindow. 异常
  9. 洛谷 P3375 【模板】KMP字符串匹配
  10. JavaBean的实用工具Lombok(省去get、set等方法)
  11. 自定义 View 实现汉字笔顺动画
  12. 2017全国计算机二级office题库,2017年计算机二级office题库(附答案)
  13. 游戏视频怎么录制,游戏录制软件哪个好
  14. Java实现 蓝桥杯 算法提高 学霸的迷宫
  15. 机器人php接口,小I机器人接口[PHP版本 08.12.7]
  16. 越权问题解决优化方案
  17. linux上传图片后无权限访问解决方案
  18. AcWing 1714.混合牛奶
  19. 五金机电行业智能供应链管理系统解决方案:数智化供应链为传统产业“造新血”
  20. 宜家IKEA EDI IFTMBF运输预定请求详解

热门文章

  1. markdown在线编辑器
  2. 关于电信路由猫、无线路由猫的设置
  3. 失语者的狂欢,觉醒者的自焚 ——《杀生》影评
  4. 数据库学习-关于存在量词exists的理解
  5. TypeError this.getOptions is not a function 的解决
  6. 软件混沌工程原则以及应用介绍(PRINCIPLES OF CHAOS ENGINEERING)
  7. 发现一php木马代码
  8. 写好英语科技论文的诀窍: 主动迎合读者期望,预先回答专家可能质疑--周耀旗教授
  9. zkPorter:Layer-2 的可组合可扩展性
  10. ios 开发控件中心点_IOS开发UI篇—手写控件,frame,center和bounds属性