C语言数据结构利用链栈将十进制转化为R进制

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值