全网整合营销服务商

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

免费咨询热线: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  # 进制数 


相关文章: 小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  已有域名如何免费搭建网站?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  如何快速搭建高效可靠的建站解决方案?  建站之星安装模板失败:服务器环境不兼容?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  C++如何编写函数模板?(泛型编程入门)  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  建站之星在线客服如何快速接入解答?  如何在香港服务器上快速搭建免备案网站?  如何快速打造个性化非模板自助建站?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  建站168自助建站系统:快速模板定制与SEO优化指南  建站之家VIP精选网站模板与SEO优化教程整合指南  如何通过WDCP绑定主域名及创建子域名站点?  太平洋网站制作公司,网络用语太平洋是什么意思?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  如何通过虚拟主机空间快速建站?  建站主机如何选?性能与价格怎样平衡?  建站之星北京办公室:智能建站系统与小程序生成方案解析  电商平台网站制作流程,电商网站如何制作?  建站之星与建站宝盒如何选择最佳方案?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  Thinkphp 中 distinct 的用法解析  javascript中的try catch异常捕获机制用法分析  公司网站设计制作厂家,怎么创建自己的一个网站?  如何在云主机上快速搭建网站?  建站10G流量真的够用吗?如何应对访问高峰?  建站之星如何助力企业快速打造五合一网站?  创业网站制作流程,创业网站可靠吗?  建站主机选虚拟主机还是云服务器更好?  海南网站制作公司有哪些,海口网是哪家的?  山东云建站价格为何差异显著?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  北京网站制作网页,网站升级改版需要多久?  清除minerd进程的简单方法  如何确保西部建站助手FTP传输的安全性?  建站之星后台管理如何实现高效配置?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何快速搭建高效WAP手机网站吸引移动用户?  建站之星如何快速更换网站模板?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  建站之星如何通过成品分离优化网站效率?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  制作网站怎么制作,*游戏网站怎么搭建?  简历在线制作网站免费版,如何创建个人简历? 

您的项目需求

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