#include
#include
typedef int DataType;
typedef struct LinkStack{
DataType data;
struct LinkStack *next;
}LinkStack;
void IniStack(LinkStack *top)//初始化
{
top->next=NULL;
}
void Push(LinkStack *top,DataType x)
{
LinkStack *p;
p=(LinkStack*)malloc(sizeof(LinkStack));
p->next=top->next;
top->next=p;
p->data=x;
}
int Pop(LinkStack *top)
{
LinkStack *p;
int x;
p=top->next;
top->next=p->next;
x=p->data; free(p);
return x;
}
int main()
{
int num;
LinkStack *top;
printf("请输入你要转换的数字:");
scanf("%d",&num);
top=(LinkStack*)malloc(sizeof(LinkStack));
IniStack(top);
while(num!=0){
Push(top,num%16);
num=num/16;
}
printf("转化后的数为:");
while(top->next!=NULL){
num=Pop(top);
if(num<10)
printf("%d",num);
else
{
num-=10;
printf("%c",'A'+num);
}
}
printf("\n");
return 0;
}
//运行截图:
