在写代码之前,我们首先要了解关于顺序栈的实现和十进制转化为二进制的实现。对于第一个关于顺序栈的实现,我在之前的博客里有详细的介绍,顺序栈的实现 ( http://t.csdnimg.cn/cWJXn),在这里就不过多的介绍。对于十进制转二进制,它可以采用除2取余法,首先不断将十进制除以2,每次记录余数,直到商数为0为止,然后将得到的所有余数全部排列起来,再将它反过来(逆序排列)。 1.关于顺序栈的代码 typedef struct /*定义顺序栈*/ { int data[Maxsize]; int Top; } stack; void Initstack( stack *s ) /*栈的初始化*/ { s->Top=0; } int push(stack *s,int x) /*入栈*/ { if(s->Top!=Maxsize-1) { s->Top++; (s->data)[s->Top]=x; return 1; } else {return 0;} } int pop(stack *s) /*出栈*/ { int x; if(s->Top!=0) {...