效果:
代码:
seqstack.c:
//进制转换
void conversion(seqstack *s,datatype e,int a)
{
//判断逻辑
if(NULL==s)
{
printf("进制转换失败\n");
return ;
}
//转换逻辑
do
{
int i=e%a;
stack_push(s,i);
}while((e=e/a)!=0);
printf("%d进制转换完成转换成的进制数为:",a);
}
main.c:
#include"seqstack.h"
#include<stdlib.h>
#include <stdio.h>
int main(int argc, const char *argv[])
{
seqstack *s=stack_create();
if(NULL==s)
{
return -1;
}
//调用进制转换函数
conversion(s,75,2);
stack_show(s);
/* //入栈
stack_push(s,3);
stack_push(s,8);
stack_push(s,7);
stack_push(s,2);
stack_push(s,4);
//遍历
stack_show(s);
//调用出栈函数
stack_pop(s);
stack_pop(s);
stack_show(s);
//返回栈中元素个数
datatype a=stack_size(s);
printf("元素个数为:%d\n",a);
//返回栈顶元素指针
printf("目前栈顶元素的地址为:%p\n",stack_top(s));
*stack_top(s)=520; //改变栈顶元素的值
stack_show(s);
*/
//销毁栈
stack_top_free(s);
s=NULL;
return 0;
}