栈实现数制转换

做一个数制转换的程序,使用栈来实现。

十进制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;
}

  

猜你喜欢

转载自blog.csdn.net/nonoiamyoufather/article/details/83245105
今日推荐