结果图:

代码如下:

#include<stdio.h>
#include<stdlib.h>
#define ERROR 0
#define OK 1
typedef int Status;
typedef int ElemType;
typedef struct StackNode{ElemType data;struct StackNode *next;
}StackNode,*LinkStack;
void InitStack(LinkStack &s){   //初始化s=(LinkStack)malloc(sizeof(StackNode));s=NULL;
}
bool StackEmpty(LinkStack s){ //判空return (s==NULL);
}
Status PushStack(LinkStack &s,ElemType e){  //入栈LinkStack p=(LinkStack)malloc(sizeof(StackNode));p->data=e;p->next=s;s=p;return OK;
}
Status PopStack(LinkStack &s,ElemType *e){  //出栈LinkStack p=(LinkStack)malloc(sizeof(StackNode));if(s==NULL)return ERROR;*e=s->data;p=s;s=s->next;free(p);return OK;
}
void main(){LinkStack s;InitStack(s);int n,choice;ElemType e;printf("请输入一个十进制数:");scanf("%d",&n);printf("请输入要转换的进制数:");scanf("%d",&choice);switch(choice){case 2: case 8:while(n) {PushStack(s,n%choice);n=n/choice;}while(s){PopStack(s,&e);printf("%d",e);}printf("\n");break;case 16:while(n){PushStack(s,n%choice);n=n/choice;}while(s){PopStack(s,&e);if(e>=10){e+=55;printf("%c",e);}else{printf("%d",e);}}printf("\n");break;}}

栈的应用--数制转换(十进制数转换为二进制、八进制、十六进制)相关推荐

  1. 利用栈实现把十进制数转换为二进制至十六进制之间的任一进制数并输出的功能。(第二版)

    [实验题目内容] 保持计算机默认的十进制不变(要求不用C++流操纵符转换基数为八进制形式oct,不用C++流操纵符转换基数为十六进制形式hex,也不用setbase(base)函数将基数设置为base ...

  2. 利用栈实现把十进制数转换为二进制至十六进制之间的任一进制数并输出的功能。

    利用栈实现把十进制数转换为二进制至十六进制之间的任一进制数并输出的功能. [实验题目内容] [实验环境](使用的软件):VS - 2010 [项目设计源代码] [项目测试运行结果截图] [实验题目内容 ...

  3. 十进制数转换为二进制,八进制,十六进制数的算法(欢迎拍砖)

    <script type="text/JavaScript"> </script> <script src="http://a.alimam ...

  4. Java中实现十进制数转换为二进制的几种办法

    Java中实现十进制数转换为二进制 第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒 ...

  5. Java中实现十进制数转换为二进制

    Java中实现十进制数转换为二进制 第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2-依次循环,直到商为0结束,把余数倒着依 ...

  6. C++十进制数转换为二进制表示的算法(附完整源码)

    C++十进制数转换为二进制表示的算法 C++十进制数转换为二进制表示的算法完整源码(定义,实现,main函数测试) C++十进制数转换为二进制表示的算法完整源码(定义,实现,main函数测试) #in ...

  7. 栈的应用--数制转换(十进制数转换为二进制,八进制,十六进制)

    #include<stdio.h> #include<stdlib.h> #define MAXSIZE 1024 typedef int ElemType;typedef s ...

  8. 利用栈的基本操作,将十进制数转换为八进制数

    #include <stdio.h> #include <stdlib.h> #include <malloc.h> #define STACKSIZE 100 t ...

  9. Python | 不使用库函数将十进制数转换为二进制

    Given a decimal number and we have to convert it into binary without using library function. 给定一个十进制 ...

最新文章

  1. docker api 基本介绍和使用
  2. GsonBuilder
  3. Netty工作笔记0010---Channel应用案例1
  4. jq处理返回来json_JQuery ajax返回JSON时的处理方式 (三种方式)
  5. 使用springmvc时处理404的方法
  6. 使用python来操作hive(通过 pyhs2 和 HiveServer2)
  7. C# ashx生成的验证码
  8. PySide使用QVariant
  9. 设置Visual Studio代码折叠
  10. Ubuntu下安装Qt
  11. 全球及中国汽车系统基础芯片(SBC)行业需求现状与发展战略规划研究报告2022年版
  12. [VBA学习]关于Formula以及数字格式的问题
  13. 黑客电影《我是谁:没有绝对安全的系统》正片(含下载)
  14. redmi Note12T屏幕刷新率是多少 Redmi Note12T相机怎么样 有几个摄像头
  15. 晶振电路的PCB设计
  16. 百度地图自定义覆盖物,在手机上无法监听click事件
  17. 计算机主板没电默认时间,电脑时间不能自动更新了怎么办?每次开机都要重新设置时间...
  18. $.each()方法的使用
  19. flink1.14.0+mysql5.7+mysqlcdc2.2.1报错org.apache.flink.shaded.guava18.com.google.common.util.concurren
  20. NUC972在linux下的KSZ8851-16 mll网卡驱动开发

热门文章

  1. 开放直营店近一年后,蔚来们“狼人杀”背后的盈利谜团
  2. mysql事务scalar_数据库连接池、事务
  3. 本科生学数据分析转行,能学会吗?
  4. 计算机专业中并行运算如何,并行计算-结构·算法·编程
  5. 南航数据分析与挖掘作业1
  6. 传统企业,互联网革命正在踢门!
  7. 半导体专用RIFD读卡器|读写器|读写头CK-S640系列在半导体生产领域的应用
  8. 如何得到linux脚本中函数的返回值?
  9. python+selenium实现58同城简历自动刷新,永排第一
  10. Python 项目转化为so文件