十进制转换为2,8,16进制

#include <stdio.h>
#include <stdlib.h>
#include <string.h>/*此处是链栈数据结构定义*/
typedef int DataType;
struct node
{DataType  info;struct node  *link;
};typedef struct node *PNode;struct LinkStack {PNode  top;
};
typedef struct LinkStack *PLinkStack;//第一关
PLinkStack createNullStack_link( )
{//此处填写代码,创建一个空的链栈PLinkStack s = (PLinkStack)malloc(sizeof(struct LinkStack));s->top = NULL ;return s;}//第二关
int isNullStack_link(PLinkStack L)
{//判断栈是否为空,若为空,返回值为1,否则返回值为0,若栈不存在,则返回-1if(L==NULL)return -1;else{if(L->top==NULL)return 1;else return 0;}
}//第三关
int push_link(PLinkStack L ,DataType x)
{//在栈中插入数据元素x,若插入不成功,返回0;插入成功返回值为1if(L==NULL)return 0;else{PNode node = (PNode)malloc(sizeof(struct node));node->info = x;node->link = L->top;L->top = node;return 1;}}//第四关
DataType pop_link(PLinkStack L)
{//弹栈并返回删除元素,若栈为空,则返回-1if(L->top==NULL)return -1;else{PNode node;DataType temp;node = L->top;temp = node->info;L->top = L->top->link;free(node);return temp;}
}//第五关
DataType top_link(PLinkStack L)
{// 取栈顶元素返回,若栈为空,则返回-1if(L->top==NULL)return -1;else{return L->top->info;}
}//销毁栈,释放栈所占存储空间
int destroystack_link(PLinkStack L)
{//返回值为销毁的栈中现有数据元素的个数,若待销毁的线性表不存在,则返回0int cnt =0 ;if(L==NULL) return 0;PNode p = L->top ,q ;free(L);while(p->link!=NULL){q = p->link;cnt++;free(p);p = q ;}return cnt ;
}void print(PLinkStack L)
{while(L->top!=NULL){printf("%d",pop_link(L));}
}void convert(int data , int k)
{PLinkStack  L = createNullStack_link();switch (k) {case 2://除二求余倒取数while(data){push_link(L,data%2);data/=2;}print(L);break;case 8://除八求余倒取数while(data){push_link(L,data%8);data/=8;}print(L);break;default://除十六求余倒取数while(data){push_link(L, data%16);data/=16;}while(L->top!=NULL){//将大于9的数转换为字母if(top_link(L)>=10){printf("%c",pop_link(L)-10+'A');}else{printf("%d",pop_link(L));}}break;}
}int main(void)
{int m ,x;scanf("%d%d",&m,&x);convert(m,x);return 1;
}

数据结构作业--链栈实现进制转换相关推荐

  1. 数据结构学习笔记:利用栈实现进制转换

    数据结构学习笔记:利用栈实现进制转换 一.除基倒取余法示意图 二.编写十进制转换成二进制Python程序 1.源代码 2.运行结果 其实Python提供了一

  2. 数据结构实验三 用栈实现进制转换和计算器

    在c++中栈已经有stl容器定义过了,在这里面我就不写栈的定义的那部分了(因为太麻烦了) 进制转换非常简单,尤其是这次只要求了十以内进制的转换,我们只需要先输入要转换的进制t,然后输入要转换的数n,每 ...

  3. C语言中用栈实现进制转换,利用栈实现进制转换问题

    进制转换问题 建立顺序栈或链栈,编写程序实现十进制数到二进制数的转换. 输入 输入只有一行,就是十进制整数. 输出 转换后的二进制数. 样例输入 10 样例输出 1010 十进制怎么转为二进制?十进制 ...

  4. 基础算法4 —— 结构体(成绩统计) + 栈(模拟进制转换 + 优秀的拆分) + 指针

    结构体 结构体的实际应用场景: 在实际问题中,一组数据往往具有不同的数据类型.比如,某次期末考试中要记录一个学生的考试信息,除了有姓名(char)外,还有班级(int).性别(char).语文.数学. ...

  5. 用C语言栈实现进制转换

    #include<stdio.h> #include<stdlib.h> #include<windows.h> #define MAXSIZE 100 typed ...

  6. C语言栈实现进制转换

    栈-10进制任意转换 设计思路 例如讲10进制转换为2进制计算思路为: 利用循环将每一个余数都压入栈中,再遍历出栈 转换代码: /*进制转换 */ scStack *sysConvert(int nu ...

  7. python【数据结构与算法】各进制转换-使用内置函数

    文章目录 1 其他进制向十进制之间的转换 2 十进制向其他进制之间的转换 2.1 使用内置函数来转换 2.2 使用字符串格式化来转化 1 其他进制向十进制之间的转换 string1 = '101010 ...

  8. js 栈(进制转换)

    <!DOCTYPE html> Document posted @ 2017-12-07 19:33 mysure 阅读(...) 评论(...) 编辑 收藏 刷新评论刷新页面返回顶部 转 ...

  9. 利用栈和递归实现进制转换——数据结构实验报告

    一.实验名称:栈的应用--进制转换 二.实验目的 熟练掌握栈的两种存储方式的具体实现过程,并分别使用递归和非递归两种方式,实现进制转换. 三.实验要求 顺序栈和链栈两种存储方式任选一种,实现从十进制到 ...

最新文章

  1. Python实现的导弹跟踪算法,燃!
  2. python android自动化基于java_Appium+Python自动化 1 环境搭建(适用windows系统-Android移动端自动化)...
  3. 解决 -- java 调用webservice 服务端收到参数为null
  4. 清华大学朱旭峰:中国智库大数据报告2017预发布
  5. 表中存在类型为dateTime的字段,并且插入语句,不包括该字段时,会插入失败...
  6. 各地少先队深入开展红领巾心向党主题教育-少先队-红领巾心向党-主题教育
  7. 怎么修改数据库服务器名字,如何更改数据库服务器名字
  8. On-Screen Keyboard(屏幕键盘) v7.0.2pro注册版
  9. android模拟器多点触摸,Windows 7 多点触摸开发模拟器和多点触摸驱动
  10. C++遇到错误蓝屏电脑代码底层分享!
  11. Flink SQL 之 Calcite Volcano优化器(源码解析)
  12. eda交通灯控制器波形输入_用VHDL设计交通灯控制器
  13. 新手,如何快速建立一个网站?
  14. PPT自动翻页的实现和取消
  15. 【数据结构】图1——图的基本概念和术语、类型定义
  16. COMSOL弱形式解微分方程
  17. MoviePy中文乱码的原因以及解决办法
  18. HBase综合测试(头歌实践教学项目)
  19. 微信小程序使用 iconfont 彩色图标(mini-program-iconfont-cli)
  20. 民建浙江省委会副主委郭吉丰建言补齐数字经济短板

热门文章

  1. 好文转载 【ChatGPT】ChatGPT+MindShow三分钟生成PPT
  2. c 与matlab联合编程,MATLAB与C联合编程的实现
  3. android 微信分享 发送失败,微信jssdk,分享给好友时,type为music,分享成功却发送失败...
  4. C#转换国内省市区,文本内容来自某area.json文件
  5. 中国IT外包追赶印度机遇来临 外包业面临转型
  6. 【小白】MATLAB绘图大全
  7. 对口集成电路专业----微电子科学与工程
  8. 物联网NB-IoT与LoRa技术浅析
  9. AmazonS3文档——对象存储之《对象操作》
  10. IO流之字符流+便捷字符流+高效字符流