数据结构实验之栈一:进制转换
Time Limit: 1000MS Memory limit: 65536K
题目描述
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct
{
int *num;
int top;
int base;
int full;
}sq;
/*void creat(sq &l,int n)
{
l.num=(int *)malloc(n*sizeof(int));
int i;
for(i=0;i<n;i++)
{
scanf("%d",&l.num[i]);
}
}
void show(sq &l,int n)
{
int i;
for(i=0;i<n;i++)
{
printf(" %d",l.num[i]);
}
}
*/
void st(sq &l,int n)
{
l.top=0;
l.num=(int *)malloc(n*sizeof(int));
}
void push(sq &l,int x)
{
l.num[l.top]=x;
l.top++;
}
int pop(sq&l,int x)
{
l.top--;
x=l.num[l.top];
return(x);
}
int empy(sq &l)
{
if(l.top==0)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
sq l;
int i,j,n,m,x;
scanf("%d%d",&n,&m);
st(l,n);
while(n)
{
push(l,n%m);
n=n/m;
}
while(!empy(l))
{
x=pop(l,x);
printf("%d",x);
}
printf("\n");
/*while(!=empty(l))
{
pop(s,e);
printf("%d ",e);
}*/
}