//十进制转化为为二进制 利用栈的先进后出原则
#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*
C语言数据结构利用链栈将十进制转化为R进制
最新推荐文章于 2022-10-25 22:01:44 发布
本文详细介绍了如何使用C语言的数据结构——链栈,来实现将十进制数转换为任意R进制数的方法。通过创建链栈、入栈、出栈操作,将十进制数拆分成R的余数,最终形成R进制表示。这种方法不仅加深了对链栈的理解,也展示了C语言在数值转换上的应用。
摘要由CSDN通过智能技术生成