问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

利用堆栈,设计算法将一个十进制正整数转换为十六进制数输出。(先设计存储结构,在设计算法,算法要加

发布网友 发布时间:2022-05-02 05:14

我来回答

3个回答

热心网友 时间:2023-10-09 15:10

存储结构就是int 数组 Stack,算法就是每次输入一个数字x,进行下面的循环:

1、x 不为零继续,为零则跳出。

2、每次将x 余16 的结果入栈(实际上是将x 的16 进制的第i 位入栈,i 表示循环次数)。

函数式程序设计语言中,不同子函数的参数的种类和个数是不相同的,编译器也是使用堆栈来存储子程序的参数。

递归能够增强语言的表达能力和降低程序设计难度。递归程序的递归深度通常是不确定的,需要将子程序执行的返回地址保存到堆栈这种先进后出式的结构中,以保证子程序的返回地址的正确使用顺序。

扩展资料:

一个由C/C++编译的程序占用的内存分为以下几个部分:

1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数名,局部变量的名等。其操作方式类似于数据结构中的栈。

2、堆区(heap)— 由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。

3、静态区(static)—全局变量和局部静态变量的存储是放在一块的。程序结束后由系统释放。

4、文字常量区—常量字符串就是放在这里的,程序结束后由系统释放 。

5、程序代码区— 存放函数体的二进制代码。

参考资料来源:百度百科-堆栈





热心网友 时间:2023-10-09 15:10

#include <stdio.h>
#define MAXSIZE 256
int Stack[MAXSIZE];
int top = -1;
bool isempty(){
    return top == -1;
}
void push(int d){
    Stack[++top] = d;
}
int pop(){
    return Stack[top--];
}
char dec2hex(int x){
    return (x>9?'a':'0') + (x%10);
}
int main(){
    int x;
    scanf("%d", &x);
    //除16取余
    while(x){
        push(x%16);
        x /= 16;
    }
    while(!isempty())
        putchar(dec2hex(pop()));
}

存储结构就是int 数组 Stack

算法就是每次输入一个数字x,进行下面的循环:

1.    x 不为零继续,为零则跳出   

2.    每次将x 余16 的结果入栈(实际上是将x 的16 进制的第i 位入栈,i 表示循环次数)

3.    x = x/16.(将x 自除以16)转至1

这是16 进制的存储过程,输出就是先读出(dec2hex() 函数完成)在打印出来:

顺序从栈顶到栈底分别是这个数字(16 进制下的)高位到低位。

热心网友 时间:2023-10-09 15:11

我是用JAVA的 所以只能说原理
先说栈结构 是FILO 先进后出 可以用list, 实在不济用数组也行
算法设计:

设置一个对象 result 这个对象在初始化的时候 加上 如果整数是10就返回A 11B..15F这样的转义
设置一个函数 f(x)
另f(x) = X对16取余数(取模)
X对16取整
返回 值(整数,余数)
;
设定main函数
1键盘录入一个数 得到X
2 循环调用f(x),判出条件是 f(x)的返回值 整数部分=0
3 循环体内将余数部分压栈
循环体内 X= 整数部分 调用f(x) 循环
4 逆序输出栈内内容
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
婴儿突然变的睡觉多了怎么办 宝宝奶量没增加但是睡眠时间变长怎么回事 孩子出现哪些行为时,意味着孩子进入到猛涨期?家长该做些什么? 1岁宝宝睡眠突然增多是怎么回事 李冰冰与自己小十六岁的男友感情稳定,你会介意找一个比自己小的人结婚... 二月份是什么星座呢 二月份的星座是什么座 十二星座对应月份 2月份是什么座是什么星座 2月份出生的什么星座 python3前端传递的pdf文件对象如何存储到服务器的指定目录 请教怎么用python过滤掉JS文件中的所有注释 python生成多个队列 pyqt5中怎么判断字符串为空 在excel中如何向一个区域输入相同的数 EXCEL如何一列增加同一个数 谁有医院用的 对联 横批 怎么操作把excel表里的所有数据全部加同一个数? 求医院食堂对联下联? EXCEL中多个表格同一位置的数值如何同时加上同一个数? 关于歌颂医生或医学的对联 如何excel多列输入同一个数字 中医对联大全加横批 怎样用excel同时输入同一个数值 医院的对联七字 求对联横批(体检医院大门春联横批) 有关医院的对联【分上联、下联、横批】10副 医院对联带横批 手术室医生护士对联 求一个大气的关于医院的对联 做梦大姐边割青草边让我卖坟地是咋回事儿? 标题“hello everyone nihao!”判断该字符串有多少个单词 利用文件输入&#47;输出流编写一个实现文件复制的java应用程序,源文件名和目标文件名 C++实现两个xls文件读写,并合并。 梦见现站在几百米高坟山上有很多青草? 神奇宝贝快龙超进化 口袋妖怪复刻快龙怎么mega进化 快龙是从什么进化而来的? 生物必修一必修二知识点(浙科版) mega快龙是什么样子的啊?在最强mega进化里哪一集出场过我忘了,谁能发图片给我看一看吗? 口袋妖怪最强进化有没有mega快龙? 口袋妖怪最强进化有没有mega快龙 神奇宝贝绿叶迷你龙几级进化快龙? 口袋妖怪最强超进化有什么精灵阵容和各种屌炸天的技能? 快龙有练的必要吗,不能超进化,并且有四倍弱点 我的世界神奇宝贝哈克龙怎么进化快龙 神奇宝贝xy音波龙和快龙谁厉害 神奇宝贝快龙都有在哪集里出现? 梦见老公和别人好,自己非常生气回来大哭 昨晚做梦梦见老公跟别人好,到最后跳楼,最后老公又救了自己?