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

利用堆栈,设计算法将一个十进制正整数转换为十六进制数输出。(先设计存储结构,在设计算法,算法要加注解)【c语言数据结构题目。】... 利用堆栈,设计算法将一个十进制正整数转换为十六进制数输出。(先设计存储结构,在设计算法,算法要加注解)

【c语言 数据结构题目。】
展开
 我来答
动植物世界
高粉答主

2020-03-04 · 原创动物解说创作者(原创、原创、原创) 每天都趴网看各位的评...
动植物世界
采纳数:235 获赞数:371918

向TA提问 私信TA
展开全部

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

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

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

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

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

扩展资料:

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

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

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

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

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

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

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





superhuster
推荐于2017-12-15 · TA获得超过1167个赞
知道小有建树答主
回答量:556
采纳率:61%
帮助的人:504万
展开全部
#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 进制下的)高位到低位。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
佴怜双006
2013-05-07
知道答主
回答量:27
采纳率:0%
帮助的人:19.5万
展开全部
我是用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 逆序输出栈内内容
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式