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

用栈实现,输入一个十进制数,转换成十六进制输出(C语言)

发布网友 发布时间:2022-05-01 18:45

我来回答

3个回答

热心网友 时间:2022-06-21 10:48

工具/材料:以Microsoft Visual Studio 2010为例。

1、首先在桌面上,点击“Microsoft Visual Studio 2010”图标。

2、然后在该界面中,先定义栈最大的存储空间。

2、其次在该界面中,编写初始化空栈函数代码。

3、之后在该界面中,编写判断空栈函数代码。

4、接着在该界面中,编写判断栈满函数代码。

5、其次在该界面中,编写进栈、出栈函数代码。

6、接着在该界面中,编写进制转化函数代码。

7、之后在该界面中,编写清空栈函数代码。

8、最后在该界面中,编写主函数调用各个函数代码。

热心网友 时间:2022-06-21 10:48

#include<stdio.h>
#include<stdlib.h>
#define initsize 20
#define increment 10
typedef char elemtype;
typedef struct stack{
elemtype *base;
elemtype *top;
int stacksize;
}stack;
void initstack(stack &s)//初始化栈
{s.base=(elemtype *)malloc(initsize*sizeof(elemtype));
if(!s.base)
exit(0);
s.stacksize=initsize;
s.top = s.base;}
void push(stack &s,elemtype e)//入栈,栈满则追加栈空间
{if(s.top-s.base>=initsize)
s.base=(elemtype *)realloc(s.base,(s.stacksize+increment)*sizeof(elemtype));
if(!s.base)
exit(0);
s.stacksize+=increment;
*s.top=e;
s.top++;
}
void pop(stack &s,elemtype &e)//出栈
{if(s.base==s.top)
printf("有错误");
else
e=*--s.top;
}
int empty(stack &s)//判栈空
{if(s.base==s.top)
return 1;
else return 0;
}
void clear(stack &s)
{if(s.base==s.top)
return ;
s.base=s.top;
}
void conversion(int n,int N)//进制转换
{int c;
char e;
stack s;
initstack(s);
while(n!=0)
{c=n%N;
n=n/N;
if(c<10)
*s.top++='0'+c;
else
{*s.top++='A'+c-10;
}
}
while(!empty(s))
{pop(s,e);
printf("%c",e);
}
clear(s);
}
void main()
{
int n,N;
printf("请输入十进制数:");
scanf("%d",&n);
printf("请输入需要转化进制:");
scanf("%d",&N);
printf("转化后的数是:");
conversion(n,N);
}

热心网友 时间:2022-06-21 10:49

小弟我喜欢C语言,但是是自学所以没学过数据结构,如果不用栈实现,小弟我可以马上给你写出来
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
和平精英冰冻如何解除 冰霜枪DEBUFF破解技巧 特种兵小组部队2破解版 塑料和塑胶有什么区别吗 前夫和别的去人在外面同居了 但还经常回来说 想我 我还能信他吗_百度知... ...过世多年后,最近听人说父亲有个亲弟弟尚在,需要相认吗? 我带着我的儿子远嫁外地,前夫去世后才知道他把钱都给了我,我嫁对人了... ...有没有失踪至今,音信皆无,再也没有找到或回来的的人? 想杀了老公和小三 我们女儿才半岁 老公豪赌种种原因离了婚 我太爱... 怎么设置变频器使水压变小,变频器型号是上海日博RB600-35R5P_百度知... 无塔供水器低压调多少 在一个栈的输入序列为12345 下面哪个不可能是栈的输出序列? 使用栈表输入1 2 3,输出3 2 1 若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是_____。 数据结构与算法中的栈的进栈、出栈、输出?帮我看下哪里错了,代码... 什么油好吃又健康什么牌子 做汤用什么食用油好,营养又美味? 顺序栈的输入输出问题。以下是我的代码,请问有什么错误? 除了橄榄油,还有什么油健康,好吃呢? 栈的输入顺序 转行软件测试你后悔了吗 一个栈的输入序列是12345,则输出序列有多少种,这类题型有什么规律? 30岁转行软件测试会不会太大了? 用栈实现数的输入,在输出,用c语言编写,我想看看代码如何实现 软件工程师转行测试工程师,怎么样? 顺序栈入栈出栈操作,输出一个数n,再输入n个字符,将每个字符依次入栈,再依次将字符出栈? 除了藤椒油炒肉好吃还有什么油炒肉好吃 帮我解释一下栈的运算,比如输入aAbBc,输出abcBA,为什么会这样输出,具体一点讲。 一个栈的输入序列是12345,则栈的输出序列有哪几种? 怎么实现栈的输入输出?求大神帮忙 28岁转行做软件测试工程师怎么样? 在栈的输入端有6个元素,顺序为A,B,C,D,E,F.能否在栈的输出端得到序列DCFEBA 实现动态栈输入输出(-1为结束输入标志),这个代码无法实现这个功能。。。打开以后输入字符没反应。。 (利用栈实现)输入一个十进制正整数,输出其八进制数和十六进制数 12345按栈输入后其输出结果有哪些? 在铁路上走,还边走边玩手机的人会发生什么后果? 铁路工作者的工作和生活状态是怎样的? 在铁路线上禁止使用手机,使用手机时必须下道至距线路最外股几米以外安全范围? 铁路职员,上班玩手机会怎么样? 铁路职工在单位用手机能上网么 铁路关于开展手机使用管理活动的总结 铁路职工上班收手机合法吗 上班三天 如果家里有事联系不上怎么办 谁负责 手机给人们的日常生活注入了什么? 西游记第四回概括主要内容 我家住铁路铁轨附近,每当火车经过,手机wifi信号就会掉,每天经过几十次火车,请问有什么好的解决 西游记第四回主要讲了什么?(30字以上) 铁路在生活中的作用 《西游记》第四回概括是什么? 铁路上班上交手机是不是违法 西游记第4回主要内容是什么 西游记第4回主要内容 100字左右 急!