未来大神! 发表于 2021-10-13 22:27:41

编写栈的定义及基本操作函数,实现输入整数n的八进制转换

本帖最后由 未来大神! 于 2021-10-13 22:44 编辑

#include<stdio.h>
#include<math.h>
#define MaxSize 100
typedef struct
{
   ElemType data;
    int top;
} SqStack;
void InitStack(SqStack &st)
{
    st.top=-1;
}
void DestoryStack(SqStck st)
{}
int Push(SqStack &st,ElemType x)
{
    if (st.top==MaxSize-1)
      return 0;
    else
    {
      st.top++;
      st.data=x;
      return 1;
    }
}
int GetTop(SqStack st,ElemType &x)
{
    if(st.top==-1)
      return 0;
    else
    {
      x=st.data;
      return 1;
    }
}
int StackEmpty(SqStack st)
{
    if(st.top==-1)
      return 1;
    else
      return 0;
}
void main()
{
    SqStack st;//定义一个顺序栈
    ElemType e;
    InitStack(st);
    GetTop(st,e);
    printf("请输入整数:n\n");
    scanf("%d",&n);
    int n,a,sum=0,i=0;
    while(n)
    {
    a=n%8;
    n=n/8;
    sum+=a*pow(10,i);
    i++;
    }
    printf("八进制输出为:%d\n",sum);
}

有好多错误,第一个是ElemType data;编译器显示ElemType不能定义类型,为什么?该怎样修改?
还有其他好多错误,还请大神帮忙修改。谢谢了!!!
https://user.qzone.qq.com/1164581044/311/
页: [1]
查看完整版本: 编写栈的定义及基本操作函数,实现输入整数n的八进制转换