注册 登录
编程论坛 数据结构与算法

有劳大神帮忙,做了好久都没做出来,实在想不出了,正处于大一刚学习阶段,还望路过大神帮助,谢谢

a1286643057 发布于 2018-03-17 21:29, 1926 次点击
/*
利用顺序栈结构,编写算法函数void Dto16(unsigned int m)实现十进制无符号整数m到十六进制数的转换功能。
*/
#include "seqstack.h"
#include "stdio.h"
/*请将本函数补充完整,并进行测试*/
void Dto16(int m)
{
   seqstack s;
   init(&s);
   printf("十进制数%d对应的十六进制数是:",m);
   while(m)
   {
      
   }
   while(!empty(&s))
    putchar(   );
   printf("\n");
}
int main()
{    int m;
     printf("请输入待转换的十进制数:\n");
     scanf("%u",&m);
     Dto16(m);
     return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
typedef int datatype;
typedef struct
{       datatype  a[MAXSIZE];
        int top;
}seqstack;
/**********************************/
/*函数名称:init()                 */
/*函数功能:初始化空栈             */
/**********************************/
void init(seqstack *st)
{
    st->top=0;
}
/**********************************/
/*函数名称:empty()                    */
/*函数功能:判断栈是否为空        */
/**********************************/
int empty(seqstack *st)
{
    return st->top?0:1;
}
/**********************************/
/*函数名称:read()                      */
/*函数功能:读栈顶元                    */
/**********************************/
datatype read(seqstack *st)
{   if (empty(st))
        {  printf("\n栈的空的!\n");exit(1);
        }
    else
        return st->a[st->top-1];
}
/**********************************/
/*函数名称:push()                      */
/*函数功能:进栈                        */
/**********************************/
void push(seqstack *st,datatype x)
{   if (st->top==MAXSIZE)
    {
        printf("栈满,无法进栈!\n");
        exit(1);
    }
    st->a[st->top]=x;
    st->top++;
}
/**********************************/
/*函数名称:pop()                      */
/*函数功能:出栈                        */
/**********************************/
datatype  pop(seqstack *st)
{   if (st->top==0)
        {   printf("\n顺序栈是空的!\n");
            exit(1);
        }
    st->top--;
}
0 回复
1