主题:帮帮我啦!
晴天猪猪
[专家分:0] 发布于 2007-10-12 21:09:00
大家帮帮我拉!我只是个初学者!!不太会。
回复列表 (共3个回复)
沙发
wzz_61 [专家分:30] 发布于 2007-10-13 14:39:00
[em2]你不会什么啊请说清楚
板凳
晴天猪猪 [专家分:0] 发布于 2007-10-13 17:23:00
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 楼
15763068 [专家分:150] 发布于 2007-10-14 00:12:00
[quote]
[em2]你不会什么啊请说清楚
[/quote]
我来回复