数据结构实验之栈一:进制转换
Time Limit: 1000MS Memory limit: 65536K
题目描述
输入
第二行输入R。
输出
示例输入
1279 8
示例输出
2377
#include<stdio.h>
#define OK 1
#define ERROR 0
#define MAXSIZE 20010
typedef int SElemType;
typedef int Status;
typedef struct
{
SElemType data[MAXSIZE];
int top;
}SqStack ;
Status Initstack(SqStack &S)
{
S.top=-1;
return OK;
}
Status Push(SqStack &S,int e)
{
if(S.top==MAXSIZE-1) return ERROR;
S.top++;
S.data[S.top]=e;
return OK;
}
Status conversion(SqStack &S,int n,int r)
{
int t;
while(n)
{
t=n%r;
n=n/r;
Push(S,t);
}
return OK;
}
int main()
{
int n,r;
scanf("%d%d",&n,&r);
SqStack S;
Initstack (S);
conversion(S,n,r);
while(S.top!=-1)
{
printf("%d",S.data[S.top]);
S.top--;
}
printf("\n");
return 0;
}