全网整合营销服务商

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

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


相关文章: 如何通过二级域名建站提升品牌影响力?  建站之星后台密码遗忘如何找回?  动图在线制作网站有哪些,滑动动图图集怎么做?  如何在Golang中使用replace替换模块_指定本地或远程路径  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  建站之星如何快速解决建站难题?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  建站上市公司网站建设方案与SEO优化服务定制指南  微信h5制作网站有哪些,免费微信H5页面制作工具?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  网站代码制作软件有哪些,如何生成自己网站的代码?  如何在阿里云虚拟服务器快速搭建网站?  潮流网站制作头像软件下载,适合母子的网名有哪些?  建站之星导航菜单设置与功能模块配置全攻略  南平网站制作公司,2025年南平市事业单位报名时间?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  制作旅游网站html,怎样注册旅游网站?  寿县云建站:智能SEO优化与多行业模板快速上线指南  如何快速搭建高效服务器建站系统?  如何选择最佳自助建站系统?快速指南解析优劣  小程序网站制作需要准备什么资料,如何制作小程序?  建站中国官网:模板定制+SEO优化+建站流程一站式指南  如何选择建站程序?包含哪些必备功能与类型?  如何通过多用户协作模板快速搭建高效企业网站?  如何通过西部数码建站助手快速创建专业网站?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  宿州网站制作公司兴策,安徽省低保查询网站?  红河网站制作公司,红河事业单位身份证如何上传?  php json中文编码为null的解决办法  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  如何快速生成凡客建站的专业级图册?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  建站之星北京办公室:智能建站系统与小程序生成方案解析  攀枝花网站建设,攀枝花营业执照网上怎么年审?  如何选择美橙互联多站合一建站方案?  盐城做公司网站,江苏电子版退休证办理流程?  建站之星在线版空间:自助建站+智能模板一键生成方案  建站三合一如何选?哪家性价比更高?  建站之星免费版是否永久可用?  如何快速搭建安全的FTP站点?  移民网站制作流程,怎么看加拿大移民官网?  建站之星后台密码遗忘?如何快速找回?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  常州企业网站制作公司,全国继续教育网怎么登录?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  已有域名和空间,如何快速搭建网站?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站? 

您的项目需求

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