//十进制转化为为二进制 利用栈的先进后出原则
#include<stdio.h>
#include<stdlib.h>
typedef int element;
typedef struct link_stack
{
element data;
struct link_stack*next;
}Link_Stack;
Link_Stack*init_linkstack();//链栈的初始化
void pop_linkstack(Link_Stack*top,element*x);//出栈
void push_linkstack(Link_Stack*top,element x);//入栈
int empty_linkstack(Link_Stack*top);//判断栈空
void main()
{
Link_Stack*top;
int n;//十进制数
element x;
top=init_linkstack();
if(top->next==NULL)
printf("初始化成功:\n");
else
printf("初始化失败:\n");
printf("请随意输入一个十进制数字:\n");
scanf("%d",&n);
while(n!=0)
{
push_linkstack(top,n%2);
n=n/2;
}
while(empty_linkstack(top)!=0)
{
pop_linkstack(top,&x);//出栈
printf("%d",x);
}
}
Link_Stack*init_linkstack()//链栈的初始化
{
Link_Stack*top;
top=(Link_Stack*)malloc(sizeof(Link_Stack));
if(to
C语言数据结构利用链栈将十进制转化为R进制
最新推荐文章于 2022-10-25 22:01:44 发布