数制转换
将十进制整数n转换为指定的m进制数。
Input
输入包含两行,第一行为数据n,第二行为数据m。
Output
输入只有一行,为n转换得到的m进制数。
Sample Input
231
8
Sample Output
347
#include<stdio.h>
#include<stdlib.h>
#define maxsize 100
typedef struct SqStack{
int data[maxsize];
int top;
}SqStack;
//初始化顺序栈
void initSqStack(SqStack *st){
st->top=-1;
}
//进栈
int push(SqStack *st,int x){
if(st->top==maxsize-1){
return 0;
}
st->data[++st->top]=x;
return 1;
}
//出栈
int pop(SqStack *st,int *x){
if(st->top ==-1){
return 0;
}
*x=st->data[st->top--];
return 1;
}
//打印栈元素
void printStack(SqStack *st){
while(st->top !=-1){
printf("%d",st->data[st->top--]);
}
}
int main(){
int n,m;
SqStack st;
initSqStack(&st);
scanf("%d",&n);
scanf("%d",&m);
if(m<0){
m=-m;
}
while(n!=0){
push(&st,n%m);
n=n/m;
}
printStack(&st);
}