恋夜秀场苹果怎么看:整型的十进制数转换成十六进制的程序

来源:百度文库 编辑:高考问答 时间:2024/04/29 22:59:55
这是一段子程序,有问题
谁看一下 谢
int ConvertD_H()
{
int num=D_num,medium=0;
char elem[1000];
for(int i=0;i<=1000;i++)
{
medium=num%16;
if(medium>0&&medium<10) elem[i]=medium+48;
else if(medium>9&&medium<<16)elem[i]=medium+65;
num=(int)(num/16);
if(num<1)break;
}
int k=0;
for(int j=i;j>=0;j--)
{
H_num[k]=elem[j];
k++;
}
return 0;
}
希望帮忙找出程序中的问题

/******************************************
程序文件名:进制转换
程序功能:十进制转换为十六进制
******************************************/
#include <iostream.h>
void conversion();//调用自定义函数
void main()
{ int N;
cout<<"请输入要转换的数"<<endl;
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<<x;
}
cout<<endl;

}
seqstsck *init_stack(){
seqstack *s;
s=(seqstack*)new(sizeof(seqstack));
if(!s)
cout<<"空间不够"<<endl;
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;
}