回 帖 发 新 帖 刷新版面

主题:帮帮我啦!

大家帮帮我拉!我只是个初学者!!不太会。

回复列表 (共3个回复)

沙发


[em2]你不会什么啊请说清楚

板凳


include"stdio.h"
#include"malloc.h"
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef struct
{
    int stacksize;
    int *bottom;
    int *top;
}sqstack;
int initstack(*s);
int push(sqstack *s,int e);
int pop(sqstack *s,int e);
int initstack(*s)
{
    s.bottom=(sqstack*)malloc( STACK_INIT_SIZE*sizeof(ElemType));
    if(!s.bottom)
        printf("out of menory!");
    else
        s.top=s.bottom;
    s.stacksize=STACK_INIT_SIZE;
    return s;
}
int push(sqstack *s,int e)
{
    if(s.top_s.bottom>=s.stacksize)
    {
        s.bottom=(sqstack*)realloc(s.bottom,(s.stacksize+STACKINCREMENT)*sizeof(ElemType));
    
    if(!s.bottom)
        printf("out of menory!");
    else
        s.top=s.bottom+s.stacksize;
    s.stacksize+=STACKINCREMENT;
    }
    *s.top++=e;
    return s;
}
int  pop(sqstack *s,int e)
{
    if(s.top++s.bottom)
        return error;
    e=*--s.top;
    return s;
}

int main()
{    
     int i=12345,oct=0;
     struct sqstack s;
     void init_Stack(*s);
     while(i)
     {
      int push(&s,i%8);
          i/=8;
     }
     while(!s.stacksize)
     {
       oct*=10;
       oct+=pop(sqstack);
     }
     printf("The result is %d",oct);
     return 0; 
}
这个函数的作用是将十进制数12345转化为八进制数,用栈来实现
这是我自己写的,可有很多错误,请帮我指导我一下啊!谢谢!!

3 楼

[quote]
[em2]你不会什么啊请说清楚
[/quote]

我来回复

您尚未登录,请登录后再回复。点此登录或注册