数据结构实验之栈一:进制转换
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
输入一个十进制整数,将其转换成对应的R(2<=R<=9)进制数,并输出。
输入
第一行输入需要转换的十进制数;
第二行输入R。
第二行输入R。
输出
输出转换所得的R进制数。
示例输入
1279 8
示例输出
2377
#include <stdio.h>
#include <stdlib.h>typedef struct {
int *base;
int *top;
int Lsize;
}Sqstack;
Sqstack push(Sqstack &s,int e){
*s.top++=e;
}
int pop(Sqstack &s,int &a){
if(s.top==s.base)return -1;
s.top--;a=*s.top ; return a ;
}
int Empty(Sqstack &s){
if(s.top==s.base) return 0;
else return 1;
}
char clearstack(Sqstack &s){
s.top=s.base;
}
int main(){
int n,m,e;
Sqstack S;
scanf("%d%d",&n,&m);
S.base=(int *)malloc(1010*sizeof(int));
S.top=S.base;
while(n){
push(S,n%m);
n=n/m;
}
while (Empty(S)){
e=pop(S,e);
printf("%d",e);
}
}