▄︻┳═一◆※◆◥╰☆箛槣◇潶偞鋰硪嘚褙鷹◇椔黝嘚勨钏羧載弌觡觡怷杍鋰☆╯◤

我的简介

我的照片
成都市, 四川省, China
┌冬天的憂傷結束秋天的孤單,微風吹來以苦樂的思念,鳥兒的高歌唱著不要別離,此刻我多麼想要擁抱你 ◆┏

2007年3月28日星期三

差!初级程序(栈),让我搞了好久-一个简单的程序


程序描述:用栈的方法把使进制的数转换成八进制的数,由键盘输入十进制的数。
#define start 50
#define add 10
#include
typedef int selemtype;
typedef int status;
typedef struct{
selemtype *base;
selemtype *top;
int stacksize;
} sqstack;
status initstack(sqstack *s){
s->base=(selemtype *)malloc(start *sizeof(selemtype));
s->top=s->base;
s->stacksize=start;
return 1;
}
status push(sqstack *s,selemtype p)
{
if((s->top)-(s->base)>=(s->stacksize));
{
s->base=(selemtype *)realloc(s->base,(s->stacksize+add) *sizeof(selemtype));
if(!s->base) exit(-2);
(s->top)=(s->base)+(s->stacksize);
s->stacksize+=add;
}
*s->top++=p;
return 1;
}
status pop(sqstack *s,selemtype *e)
{
if(s->top==s->base) return 0;
*e=*(--s->top);
return 1;
}
void conversion()
{
int n,p;
sqstack s;
initstack(&s);
scanf("%d",&n);
while(n){
p=n%8;
push(&s,p);
n=n/8;
}
while(!(s.top==s.base)){
pop(&s,&p);
printf("%d",p);
}
}
main()
{
conversion();
}

没有评论:

picasa

博客归档