#include <stdio.h>
堆栈实现进制转换
转载#include <stdlib.h>
#define stack_size 50
typedef struct
{
int stack[stack_size];
int top;
} Stack;
void InitStack(Stack *S)
{
S->top=-1;
}
int IsEmpty(Stack *S)
{
if(S->top==-1)
return 1;
else
return 0;
}
int Push(Stack *S,int c)
{
if(S->top==stack_size-1)
return 0;
else
S->top++;
S->stack[S->top]=c;
return 1;
}
/* int GetTop(Stack *S,int *x)
{
if(S->top==-1)
return 0;
else
*x=S->stack[S->top];
return 1;
} */
int Pop(Stack *S,int *x)
{
if(S->top==-1)
return 0;
else
*x=S->stack[S->top];
S->top--;
return 1;
}
void conversion(int N)
{
Stack S;int x;
InitStack(&S);
while(N>0)
{
x=N%2;
Push(&S,x);
N=N/2;
}
while(!IsEmpty(&S))
{
Pop(&S,&x);
printf("%d\n",x);
}
}
int main()
{int N;
printf("Please input a integer :\n");
scanf("%d",&N);
conversion(N);
return 0;
}
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
VC++2012编程演练数据结构《3》堆栈实现进制转换
栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。 栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底
VC++编程技术 Visual C++2012 Visual C++2010编程技术 数据结构与算法 VC++2012编程演练数据结构 -
利用栈实现进制转换
利用可追加空间的顺序栈实现进制转换
数据结构 栈 进制转换 -
进制转换 2031 (进制转换)
进制转换
Java Memory 16进制 -
vue实现在线进制转换
6.用户友好的界面,包括下拉菜单、输入框、按钮和结果区域。8.即时转换(通过按钮触发,而非实时响应)。3.输入验证(虽然可能存在
vue.js javascript ecmascript 进制 git -
C# .NET 16进制转换,10进制转换,8进制转换,2进制转换
C# .NET 16进制转换,10进制转换,8进制转换,2进制转换
c# .net 10进制转换 16进制转换 2进制转换
















