全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

数据结构 中数制转换(栈的应用)

数据结构 中数制转换(栈的应用)

问题描述:

 将一个非负的十进制整数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  # 进制数 


相关文章: 详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  建站VPS推荐:2025年高性能服务器配置指南  建站之星安全性能如何?防护体系能否抵御黑客入侵?  无锡营销型网站制作公司,无锡网选车牌流程?  如何通过西部建站助手安装IIS服务器?  黑客如何通过漏洞一步步攻陷网站服务器?  如何用腾讯建站主机快速创建免费网站?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  宝塔Windows建站如何避免显示默认IIS页面?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  家庭建站与云服务器建站,如何选择更优?  如何用已有域名快速搭建网站?  Android自定义控件实现温度旋转按钮效果  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  在线制作视频网站免费,都有哪些好的动漫网站?  如何在建站之星网店版论坛获取技术支持?  如何自定义建站之星模板颜色并下载新样式?  制作网站的模板软件,网站怎么建设?  建站之星上传入口如何快速找到?  教程网站设计制作软件,怎么创建自己的一个网站?  如何快速搭建个人网站并优化SEO?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  建站之星安装后如何自定义网站颜色与字体?  建站之星如何实现网站加密操作?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  如何通过网站建站时间优化SEO与用户体验?  建站之星logo尺寸如何设置最合适?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  建站之星微信建站一键生成小程序+多端营销系统  如何在云服务器上快速搭建个人网站?  安云自助建站系统如何快速提升SEO排名?  常州企业建站如何选择最佳模板?  广东企业建站网站优化与SEO营销核心策略指南  建站之星代理平台如何选择最佳方案?  行程制作网站有哪些,第三方机票电子行程单怎么开?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  如何在阿里云虚拟主机上快速搭建个人网站?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  音响网站制作视频教程,隆霸音响官方网站?  c++怎么用jemalloc c++替换默认内存分配器【性能】  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  建站主机如何选?高性价比方案全解析  建站主机助手选型指南:2025年热门推荐与高效部署技巧  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  建站之星价格显示格式升级,你的预算足够吗?  建站之星如何一键生成手机站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。