java n进制转换 栈_数据结构 中数制转换(栈的应用)

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

问题描述:

将一个非负的十进制整数N转换为另一个等价的基为B的B进制数的问题。

解答:按除2取余法,得到的余数依次是1、0、1、1,则十进制数转化为二进制数为1101。

分析:由于最先得到的余数是转化结果的最低位,最后得到的余数是转化结果的最高位,因此很容易用栈来解决。

代码如下:

#include

#include

#include

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;

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"1. 计算机的硬件主要包括:央处理器、存储器、输入设备和 ( ) " "A 键盘 B 鼠标 C 显示器 D 输出设备 " "参考答案:D " "2. "32位微型计算机"的32值的是( ) " "A 微机型号 B 内存容量 C 运算速度 D 机器字长 " "参考答案:C " "3. 在计算机,常用的数制是( ) " "A 二级制 B 八进制 C 十进制 D 十六进制 " "参考答案:A " "4. 计算机的系统总线是计算机各部分间传递信息的公共通道,它包括( ) " "A 数据总线和控制总线 B 地址总线和数据总线 C 数据总线、控制总线和地址总线 D " "地址总线和控制总线 " "参考答案:C " "5. 计算机之所以能按人们的意志自动进行工作,最直接的原因是采用了( )。 " "A.二进制数制 B.程序设计语言 C.高速电子元件 D.存储程序控制 " "参考答案:D " "6. 微型计算机,运算器的基本功能是( )。 " "A.进行算术和逻辑运算 B.存储各种控制信息 C.控制计算机各部件协调一致地工作 " "D.保持各种控制信息 " "参考答案:A " "7. 下列4种软件属于应用软件的是 ( ) " "A 财务管理系统 B DOS C Windows7 D Windows sever " "参考答案:A " "8. 计算机存储容量的基本单位是( )。 " "A.赫兹 B.字节(Byte) C.位 (bit) D.波特 " "参考答案:B " "9. 下面设备,既能向主机输入数据又能接收主机输出数据的设备是 ( ) " "A CD-ROM B 显示器 C 磁盘存储器 D 光笔 " "参考答案:C " "10. 与十进数100等值的二进制数是( )。 " "A. 1100100 B. 1100010 C. 0010011 D. 1100110 " "参考答案:A " "11. 汉字国标码(GB2312.80)规定的汉字编码,每个汉字占用的字节是( )。 " "A.1个 B.2 C.3个 D.4个 " "参考答案:B " "12. 计算机能直接识别并执行的语言是( )。 " "A.汇编语言 B.自然语言 C.机器语言 D.高级语言 " "参考答案:C " "13. 计算机能直接处理的语言是由0与1所组成的语言,这种语言称为( )。 " "A.汇编语言 B.自然语言 C.高级语言 D.机器语言 " " " "参考答案:D " " " "14. 如果电源突然断,存储器( )的信息会丢失而无法恢复。 " "A.RAM B.ROM C.RAM和ROM D.磁盘 " " " "参考答案:A " " " "15. 计算机处理汉字信息时所使用的代码是 ( ) " "A ASCII码 B 字型码 C 国际码 D 机内码 " " " "参考答案:D " " " "16. 微型计算机,控制器的基本功能是( ) " "A 进行算术运算和逻辑运算 B 存储各种控制器 " "C 保持各种控制状态 D 控制机器各个部件协调一致地工作 " " " "参考答案:D " " " "17. 光盘是一种已广泛使用的外存储器,英文缩写CD-ROM指的是( ) " "A 只读型光盘 B 一次写入光盘 C 追记型读写光盘 D 可抹型光盘 " " " "参考答案:A " " " "18. 在微型计算机内存储器不能用指令修改其存储内容的部分是( ) " "A RAM B DRAM C ROM D SRAM " " " "参考答案:C " " " "19. 操作系统是计算机最重要的 ( ) 软件之一。 " "A 实用 B 用户 C 系统 D 应用 " " " "参考答案:C " " " "20. 软硬磁盘和磁盘驱动器是微型计算机的外存储设备,可实现对信息的( ) " "A 输入 B 输出 C 输入和输出 D 记录和过滤 " " " "参考答案:C " " " "21. 在微机,主机由微处理器和 ( ) 组成。 " "A 磁盘存储器 B 内存储器 C 软盘存储器 D 运算器 " " " "参考答案:B " " " "22. CAM的含义是 ( ) " "A 计算机辅助设计 B 计算机辅助教学 C 计算机辅助制造 D 计算机辅助测试 " " " "参考答案:C " " " "23. 下列四项,不属于计算机多媒体功能的是( ) " "A 传真 B 播放VCD C 播放MIDI音乐 D 播放流媒体文件 " " " "参考答案:A " " " "24. 计算机能计算有大量数据和程序语言的问题,下列起主要作用的因素是( ) " "A 大尺寸的彩显 B 快速的打印机 " "C 大容量存储器内外存储器 D 质量好的键盘和鼠标 " " " "参考答案:C "

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值