整型的十进制数转换成十六进制的程序

2025-05-21 17:04:32
推荐回答(1个)
回答(1):

/******************************************
程序文件名:进制转换
程序功能:十进制转换为十六进制
******************************************/
#include
void conversion();//调用自定义函数
void main()
{ int N;
cout<<"请输入要转换的数"< cin>>N;
conversion(N, 16);
}
#define maxsize 100
typedef struct {
int data[maxsize];
int top;
}seqstack;//声明结构体类型
typedef int elemtype;
seqstsck *init_stack();
int push_seqstack(seqstsck *s,int x);
int pop_seqstack(seqstsck *s,int x);
int empty_seqstack(seqstack *s);//声明自定义函数
void conversion(int N,int n)
{
seqstack s;
elemtype x;
init_stack(&s);
while(N)//入栈
{
push_seqstack(&s,N%16);
N=N/16;
}
while(!empty_seqstack(&s))//输出转换后的数
{
pop_seqstack(&s,&x);
cout< }
cout<
}
seqstsck *init_stack(){
seqstack *s;
s=(seqstack*)new(sizeof(seqstack));
if(!s)
cout<<"空间不够"< return null;
else
{
s->top=-1;
return s;
}
}//初始化栈
int push_seqstack(seqstsck *s,int x)//入栈
{
if(s->top==maxsize-1)
return 0;
else
{
s->top++;
s->data[s->top]=x;
return 1;
}
}
int pop_seqstack(seqstsck *s,int x)//出栈
{
if(empty_seqstack(s))
return 0;
else
{
*x=s->data[s-top];
s->top--;
return 1;
}
}
int empty_seqstack(seqstack *s)//判断栈是否为空
{
if(s->top=-1)
return 1;
else
return 0;
}