用栈实现二进制转十进制
来源:互联网 发布:中国高校财经数据库 编辑:程序博客网 时间:2024/05/22 07:07
- 用栈实现二进制转十进制
#include<stdio.h>#include<stdlib.h>#include<time.h>#define OK 1#define ERROR 0#define MAXSIZE 20typedef int SElemType;typedef int Status;typedef struct { SElemType data[MAXSIZE]; int top; //用于栈顶指针}Sqstack;//顺序栈的初始化Status InitSqstack(Sqstack * S){ S->top=-1; return OK;}//进栈操作Status Push(Sqstack * S,SElemType e){ if(S->top==MAXSIZE-1) //栈满 { return ERROR; } S->top++; //栈顶指针增加1 S->data[S->top]=e; return OK;}//出栈操作Status Pop(Sqstack * S,SElemType * e){ if(S->top==-1) //栈底 { return ERROR; } *e=S->data[S->top]; S->top--; return OK;}//顺序栈的建立Status Create(Sqstack * S,int n){ SElemType Number; for(int i=0;i<n;i++) { scanf("%d",&Number); Push(S,Number); } return OK;}//二进制转十进制Status Change(Sqstack * S,int n){ SElemType Number,result; SElemType Sum=0; for(int i=0;i<n;i++) { Pop(S,&Number); if(i==0) { result=Number*1; } else { for(int j=0;j<i;j++) Number=Number*2; result=Number; } Sum=result+Sum; } return Sum;}int main(){ Sqstack S; int ElemNumber; int NewElem; InitSqstack(&S); printf("请输入元素个数:\n"); scanf("%d",&ElemNumber); printf("请输入二进制数:\n"); Create(&S,ElemNumber); SElemType result=Change(&S,ElemNumber); printf("转为十进制后的结果是:\n"); printf("%d\n",result); return 0;}
0 0
- 用栈实现二进制转十进制
- 栈实现二进制转十进制
- 二进制转十进制(栈实现)
- 用C++实现十进制转二进制或者十进制转十六进制
- 用栈实现十进制转换为二进制
- Stack实现十进制转二进制
- 递归实现十进制转二进制
- 递归实现十进制转二进制
- 堆栈实现二进制转十进制
- 利用栈的操作实现二进制转十进制
- js-栈的使用- 利用数组实现十进制转二进制
- 用栈实现十进制到二进制的转换
- 十进制转换到二进制(用自定义的栈实现
- 十进制转换为二进制 八进制 ——用栈实现
- 用顺序栈实现十进制数转换成二进制数
- java 用String类实现十进制转二进制
- 十进制转二进制(栈)
- 十进制转二进制(栈)
- ios逆向学习
- 二路归并排序简介及其并行化
- 关于favicon.ico的两三事
- windows 命令行调用openssl
- 项目开发中在百度收集起来的一些js方法
- 用栈实现二进制转十进制
- 关于I帧,P帧,B帧和NAL单元的联系。还有slice片和NAL与各帧之间的关系
- 分享自玄子 《eclipse颜色配置》
- Git读书笔记(1)诞生,分布式
- Phoenix(五)JDBC 无法添加数据
- IBM massage broker ESQL 实现Java中split(“-”)功能的方法
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- VS2008宏不能运行的解决办法
- Android事件传递机制