数据结构 中数制转换(栈的应用)
发布时间 - 2026-01-11 02:06:12 点击率:次数据结构 中数制转换(栈的应用)

问题描述:
将一个非负的十进制整数N转换为另一个等价的基为B的B进制数的问题。
解答:按除2取余法,得到的余数依次是1、0、1、1,则十进制数转化为二进制数为1101。
分析:由于最先得到的余数是转化结果的最低位,最后得到的余数是转化结果的最高位,因此很容易用栈来解决。
代码如下:
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef struct Node
{
int data;
struct Node * pNext;
}NODE ,*PNODE;
typedef struct Stack
{
PNODE pTop;
PNODE pBottom;
}STACK,*PSTACK;
bool empty(PSTACK ps)
{
if(ps->pTop == ps->pBottom)
return true;
else return false;
}
void initstack(PSTACK ps)
{
ps->pTop=(PNODE)malloc(sizeof(NODE));
if (NULL == ps->pTop)
{
printf("初始化失败!\n");
exit(-1);
}
else
{
ps->pBottom=ps->pTop;
ps->pTop->pNext=NULL;
}
return ;
}
void push(PSTACK ps,int val)
{
PNODE pNew=(PNODE)malloc(sizeof(NODE));
pNew->data=val;
pNew->pNext=ps->pTop;
ps->pTop=pNew;
return;
}
void pop(PSTACK ps)
{
int x;
if(empty(ps))
{
//printf("出栈失败!");
return ;
}
else
{
PNODE p=ps->pTop;
x=p->data;
ps->pTop=p->pNext;
free(p);
p=NULL;
printf("%d",x);
return ;
}
}
int main()
{
int i,N,B;
STACK S;
scanf("%d",&N);
scanf("%d",&B);
initstack(&S);
while(N)
{
push(&S,N%B);
N=N/B;
}
while(S.pBottom!=NULL)
{
pop(&S);
}
system("pause");
return 0;
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# 数据结构
# 中数制转换
# C语言栈的应用
# C语言数据结构中数制转换实例代码
# python常见数制转换实例分析
# JavaScript中各数制转换全面总结
# 很容易
# 希望能
# 谢谢大家
# 转换为
# 二进制数
# 十进制数
# include
# malloc
# lt
# gt
# stdio
# stdlib
# int
# data
# pNext
# typedef
# struct
# Node
# 进制数
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Linux安全能力提升路径_长期防护思维说明【指导】
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
怎么用AI帮你设计一套个性化的手机App图标?
如何用腾讯建站主机快速创建免费网站?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
用yum安装MySQLdb模块的步骤方法
如何在阿里云部署织梦网站?
利用JavaScript实现拖拽改变元素大小
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
Mybatis 中的insertOrUpdate操作
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
JavaScript模板引擎Template.js使用详解
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
如何彻底删除建站之星生成的Banner?
如何用AWS免费套餐快速搭建高效网站?
三星网站视频制作教程下载,三星w23网页如何全屏?
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
教学论文网站制作软件有哪些,写论文用什么软件
?
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
如何用西部建站助手快速创建专业网站?
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
使用Dockerfile构建java web环境
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
魔方云NAT建站如何实现端口转发?
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
桂林网站制作公司有哪些,桂林马拉松怎么报名?
如何在腾讯云免费申请建站?
JavaScript如何操作视频_媒体API怎么控制播放
深圳网站制作培训,深圳哪些招聘网站比较好?
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
微信推文制作网站有哪些,怎么做微信推文,急?
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
浅析上传头像示例及其注意事项
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
香港网站服务器数量如何影响SEO优化效果?
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
javascript基本数据类型及类型检测常用方法小结
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
Laravel安装步骤详细教程_Laravel环境搭建指南
高性价比服务器租赁——企业级配置与24小时运维服务
如何制作一个表白网站视频,关于勇敢表白的小标题?
Laravel如何配置和使用缓存?(Redis代码示例)
微信小程序 canvas开发实例及注意事项

