/*
利用顺序栈结构,编写算法函数void Dto16(unsigned int m)实现十进制无符号整数m到十六进制数的转换功能。
*/
/**********************************/
/*文件名称:lab4_01.c */
/**********************************/
#include "seqstack.h"
/*请将本函数补充完整,并进行测试*/
void Dto16(int m)
{ seqstack s; /*定义顺序栈*/
init(&s);
printf("十进制数%u对应的十六进制数是:",m);
char *p="0123456789abcdef";
while (m)
{
push(&s,p[m%16]);
m/=16;
}
while (!empty(&s))
putchar(pop(&s));
printf("\n");
}
int main()
{ int m;
printf("请输入待转换的十进制数:\n");
scanf("%u",&m);
Dto16(m);
return 0;
}
/*
利用链式栈结构,编写算法函数void Dto16(unsigned int m)实现十进制无符号整数m到十六进制数的转换功能。
*/
/**********************************/
/*文件名称:lab4_02.c */
/**********************************/
#include "linkstack.h"
/*请将本函数补充完整,并进行测试*/
void Dto16(unsigned int m)
{
linkstack s;
s=init();
printf("十进制数%u对应的十六进制数是:",m);
char *a="0123456789ABCDEF";
while (m)
{
s=push(s,a[m%16]);
m=m/16;
}
while (!empty(s))
{
putchar((char)read(s));
s=pop(s);
}
printf("\n");
}
int main()
{
unsigned int m;
printf("请输入待转换的十进制数:\n");
scanf("%u",&m);
Dto16(m);
return 0;
}