**

6-3 十进制转二进制(顺序栈设计和应用) (8 分)

**
设计一个顺序栈,并利用该顺序栈将给定的十进制整整数转换为二进制并输出。
函数接口定义:

#define MaxSize 100    /* 栈最大容量 */
int top;        /* 栈顶指针 */
int mystack[MaxSize];    /* 顺序栈 *//*判栈是否为空,空返回true,非空返回false */
bool isEmpty();/* 元素x入栈 */
void Push(int x);/* 取栈顶元素 */
int getTop();/* 删除栈顶元素 */
void Pop();

其中 MaxSize 和 top 分别为栈的最大容量和栈顶指针。数组mystack 用来模拟顺序栈。请实现给出的isEmpty、Push、getTop和Pop这四个函数。

裁判测试程序样例:

#include <bits/stdc++.h>
using namespace std;#define MaxSize 100        /* 栈最大容量 */
int top;                /* 栈顶指针 */
int mystack[MaxSize];    /* 顺序栈 *//*判栈是否为空,空返回true,非空返回false */
bool isEmpty();/* 元素x入栈 */
void Push(int x);/* 取栈顶元素 */
int getTop();/* 删除栈顶元素 */
void Pop();/* 十进制正整数转换为二进制 */
void dec2bin(int x) {top = -1;            /* 初始化栈顶指针 */while (x) {Push(x % 2);x >>= 1;}while (!isEmpty()) {int t = getTop();Pop();printf("%d", t);}printf("\n");
}int main(int argc, char const *argv[])
{int n;while (scanf("%d", &n) != EOF) {dec2bin(n);}return 0;
}/* 请在这里填写答案 */

输入样例:

10
//结尾无空行

输出样例:

1010
//结尾无空行
/* 请在这里填写答案 */
/*判栈是否为空,空返回true,非空返回false */
bool isEmpty(){if(top==-1)return true;elsereturn false;}/* 元素x入栈 */
void Push(int x){if(top!=MaxSize){top++;mystack[top]=x;}}/* 取栈顶元素 */
int getTop(){return mystack[top];}/* 删除栈顶元素 */
void Pop(){top=top-1;}

6-3 十进制转二进制(顺序栈设计和应用) (8 分)相关推荐

  1. C语言栈实现十进制转二进制

    C语言栈实现十进制转二进制 利用栈的先进后出的性质,与十进制转二进制时的2除法相似 (先算的余数放在后位) #include <stdio.h> #include <stdlib.h ...

  2. c语言二进制转换算法栈,用C语言顺序栈实现十进制和二进制的转换

    用C语言顺序栈实现十进制和二进制的转换 #include #include #include #define M 100 typedef int datatype; typedef struct{ d ...

  3. 用‘栈’的思想编写一个十进制转换二进制、八进制或十六进制的程序

    用'栈'的思想编写一个十进制转换二进制.八进制或十六进制的程序 根据进制转换方法,如十进制向二进制转换,将转换的十进制整数除以二进制基数(2),得到余数和商,如果商不为0,该商继续做被除数,除以基数, ...

  4. bash 将二进制转换为十进制_用‘栈的思想编写一个十进制转换二进制、八进制或十六进制的程序...

    用'栈'的思想编写一个十进制转换二进制.八进制或十六进制的程序 根据进制转换方法,如十进制向二进制转换,将转换的十进制整数除以二进制基数(2),得到余数和商,如果商不为0,该商继续做被除数,除以基数, ...

  5. 定义并调用函数 十进制转二进制_用‘栈的思想编写一个十进制转换二进制、八进制或十六进制的程序...

    用'栈'的思想编写一个十进制转换二进制.八进制或十六进制的程序 根据进制转换方法,如十进制向二进制转换,将转换的十进制整数除以二进制基数(2),得到余数和商,如果商不为0,该商继续做被除数,除以基数, ...

  6. 数字逻辑课程设计-加法器设计(三位十进制+八位二进制)

    首页 寒假期间做的数字逻辑课设,现在整理出来分享给大家. 本文内容参照WUST2019届课程设计报告要求. 课设题目 三位十进制加法器,需要用三位数码管显示 八位二进制加法器,也需要用三位数码管显示 ...

  7. 十进制转换成十六进制c语言 链栈,C语言 链栈 实现十进制转换二进制,八进制,十六进制...

    C语言 链栈 实现十进制转换二进制,八进制,十六进制 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 最后运行结果:代码:#incl ...

  8. 数据结构 :: 顺序栈与链式栈的设计与实现

    数据结构 :: 双链表的设计与实现 说明:本文属于读书笔记.笔者将以讲述的方式表达全片文章.故文中提到的某些字词是非正式术语,只是笔者本人的理解性词语. 前言:本文将对顺序栈与链式栈进行设计与实现!其 ...

  9. 十进制转换成二进制 (栈)

    十进制转换成二进制 (栈) 首先,转化的思路是 辗转取余法.比如说n = 5,先取模(5%2)获得1,然后取余并将其赋值给本身,得到n = 2:再取模得到0,取余之后n = 1:对1取模(1%2)得到 ...

最新文章

  1. PNAS | 根际植保素合成调控细菌对植物的促生长作用
  2. MPLS的几种备份方式——Vecloud
  3. 【django】配置前端静态文件【6】
  4. ant design vue中通知提醒框Notification的使用
  5. LeetCode 163. 缺失的区间
  6. 使用Python为中秋节绘制一块美味的月饼
  7. 帮助文档的制作(控制台、eclipse两种方式)
  8. PhpExcel数组输出到Excel浏览器下载
  9. 华为AI音箱更新春节专属技能:对春联 拜年留言
  10. 网狐 游戏服务器 没有反应_游戏行业该怎么选择服务器?
  11. php-fpm启动条件,php-fpm的启动、重启
  12. 从一个组件的实现来深刻理解 JS 中的继承
  13. kernel ramdump分析
  14. 翻译程序和解释程序的区别
  15. 每日英语:China's Red Cross Tries to Rebuild After Self-Inflicted Disaster
  16. Apollo 参考线平滑方法Fem Pos Deviation Smoother
  17. python3d_Power BI将超越python和D3,成为数据可视化的福音、定性数据分析的未来?...
  18. 也谈B2B网站的发展方向和趋势
  19. 5、BN层的作用及原理?
  20. Java程序设计教程(第三版) 雍俊海 7.3 答案/代码

热门文章

  1. oracle 中的日志在处理,ORACLE在存储过程中记录日志的处理包
  2. 关于IDEA编辑器运行测试方法时无法在控制台进行输入的问题
  3. 关于Java中static关键字的用法以及从内存角度解析
  4. Android点击EditText文本框之外任何地方隐藏键盘的解决办法
  5. JMeter(十三)-代理服务器录制脚本
  6. python 装饰器(可以接收多个值)
  7. 推荐:CLR 完全介绍-一篇讲解CLR内存回收机制以及常见的调试技巧的文章
  8. 在Vue中引入Bootstrap,Font-awesome
  9. LightOj 1027 A Dangerous Maze
  10. nginx 如何解析php文件php-fpm的解释