做一个数制转换的程序,使用栈来实现。
十进制N转换成其他进制d的方法是除上d倒序取余
N = (N div d)*d +N mod d
例如: (1348)10 = (2504)8
N N div 8 N mod 8
1348 168 4
168 21 0
21 2 5
2 0
#include "stack.h"
int main(int argc, char const *argv[])
{
SqStack *s = (SqStack *)malloc(sizeof(SqStack));
InitStack(s);
int n = 10;
int x;
while(n){
Push(s,n%2);
n /=2;
}
while(Pop(s,&x)!=-1){
printf("%d",x);
}
return 0;
}